我想在android studio中的java类之间发送字符串。我有类CreateToken.java
和MainActivity.java
,如何将字符串yourToken
发送到MainActivity.java
以及如何在MainActivity.java中接收字符串yourToken
和结果yourToken
中的com.example.user.application.CreateToken@yourToken
是yourToken
,但CreateToken.java
不是完整的令牌,只有7个字符。
这是我在public class CreateToken {
private ICreateToken listener;
public CreateToken(ICreateToken listener) {
this.listener = listener;
}
public Call<Token> api(final Context ctx){
ApiInterface api = ApiClient.getClient().create(ApiInterface.class);
String usernameApi = "web";
String passwordApi = "123";
Call<Token> getToken = api.postWebService(usernameApi,passwordApi);
getToken.enqueue(new Callback<Token>() {
@Override
public void onResponse(Call<Token> call, Response<Token> response) {
String error = response.body().getError();
if (error.equals("false")){
Toast.makeText(ctx, response.body().getToken(),Toast.LENGTH_SHORT).show();
Log.d("Smart","Response : Token Show");
String yourToken = response.body().getToken();
listener.onTokenGenerated(yourToken);
}else {
Toast.makeText(ctx, response.body().getMessage(),Toast.LENGTH_SHORT).show();
Log.d("Smart","Response : Token NUll");
}
}
@Override
public void onFailure(Call<Token> call, Throwable t) {
Log.d("Smart","Response : Token Null");
}
});
return getToken;
}
public interface ICreateToken {
void onTokenGenerated(String token);
}
}
中的功能之一:
MainActivity.java
这是我的public class MainActivity extends AppCompatActivity implements CreateToken.ICreateToken {
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textView);
CreateToken token = new CreateToken(MainActivity.this);
textView.setText(token.toString());
}
@Override
public void onTokenGenerated(String token) {
}
}
:
DECLARE @createdby varchar(100) = '{"User":{"createdby":"23"}}';
SELECT JSON_VALUE(@createdby, '$.User.createdby');
答案 0 :(得分:1)
您必须像下面这样呼叫api
才能将请求发送到服务器:
CreateToken tokenCreator = new CreateToken(MainActivity.this);
tokenCreator.api(this);
并等待触发onTokenGenerated
并使用String token
@Override
public void onTokenGenerated(String token) {
textView.setText(token.toString());
}
答案 1 :(得分:0)
您应该有权访问{p}中yourToken
中的MainActivity
@Override
public void onTokenGenerated(String token) {
}
执行listener.onTokenGenerated(yourToken);
中的CreateToken
时。只需调用public Call<Token> api(final Context ctx)
方法,并在MainActivity
中接收令牌即可。