在类之间发送令牌

时间:2018-12-12 07:47:47

标签: java android parsing token

我想在android studio中的java类之间发送字符串。我有类CreateToken.javaMainActivity.java,如何将字符串yourToken发送到MainActivity.java以及如何在MainActivity.java中接收字符串yourToken和结果yourToken中的com.example.user.application.CreateToken@yourTokenyourToken,但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');

2 个答案:

答案 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中接收令牌即可。