package com.example.testapp; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.media.Image; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import com.example.testapp.Util.States; import com.example.testapp.Util.WordPlan; import com.example.testapp.database.Interpretation; import com.example.testapp.database.Phrase; import com.example.testapp.database.Sentence; import com.example.testapp.database.UserData; import com.example.testapp.database.Word; import org.json.JSONException; import org.json.JSONObject; import org.litepal.LitePal; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class MainActivity extends Activity { String TAG = "MainActivity"; Button btn_login; Button btn_register; EditText edt_user; EditText edt_password; //private Handler handler; private String res; private static final int SUCCESS = 0; private static final int FAILURE = 1; // private String password= ""; private String username =""; String stringUrl = "http://nnggb.com/test/test.php"; Context context; private Handler mHander = new Handler(Looper.getMainLooper()) { @SuppressLint("SetTextI18n") public void handleMessage(Message msg) { switch(msg.what){ case SUCCESS: ShowLoginToast(); //提示账号密码是否正确以及服务器是否出现问题 break; case FAILURE: Toast toast = Toast.makeText(MainActivity.this,"请求失败,请检查网络",Toast.LENGTH_SHORT); toast.show(); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_login = findViewById(R.id.bt_login); btn_register = findViewById(R.id.bt_register); edt_user = findViewById(R.id.edt_user); edt_password =findViewById(R.id.edt_password); btn_login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { username = String.valueOf(edt_user.getText()); //获取文本框内容 password = String.valueOf(edt_password.getText()); //模拟登录成功数据 UserData userdata = new UserData(); userdata.setUserId(1); userdata.setLogged(1); userdata.save(); if (!LitePal.findAll(Word.class).isEmpty()) { Log.i(TAG, String.valueOf(WordPlan.getUserId())); }else{ Toast toast = Toast.makeText(MainActivity.this, "表是空的",Toast.LENGTH_SHORT); toast.show(); } Intent intent = new Intent(MainActivity.this, NavigationActivity.class); startActivity(intent); Log.i(TAG, States.getNetName(MainActivity.this)); //打印网络状态 Toast toast = Toast.makeText(MainActivity.this, States.getNetName(MainActivity.this),Toast.LENGTH_SHORT); toast.show(); //GetURLResByPost();` //ShowLoginToast(); //千万不能写在这里,这里网络请求还没回来,res是空的 } }); btn_register.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(MainActivity.this, WordActivity.class); startActivity(intent); } }); } public void GetURLResByPost(){ new Thread(new Runnable(){ public void run(){ try { JSONObject json = new JSONObject(); json.put("username",username); json.put("password",password); Log.i("勇敢id牛牛", String.valueOf(json)); Log.i("勇敢id牛牛","测试一下Git" ); URL myurl = new URL(stringUrl); HttpURLConnection urlCon = (HttpURLConnection)myurl.openConnection(); urlCon.setConnectTimeout(3000); urlCon.setDoInput(true); //设置允许输入 urlCon.setDoOutput(true);//设置输出允许 urlCon.setRequestMethod("POST"); OutputStreamWriter out = new OutputStreamWriter(urlCon.getOutputStream()); //DataOutputStream out = new DataOutputStream(urlCon.getOutputStream()); out.write(json.toString()); out.flush(); out.close(); if(urlCon.getResponseCode() == 200){ InputStreamReader in = new InputStreamReader(urlCon.getInputStream()); BufferedReader buffer = new BufferedReader(in); // String inputLine = null; // StringBuffer pageBuffer = new StringBuffer(); // while((inputLine = buffer.readLine()) != null){ // pageBuffer.append(inputLine +"\n"); // } //上面的写法是接受的数据有多行,我这里只有一个数字。用着个方法会多一个空格。 //res = String.valueOf(buffer.read()); //这种写法是错误的 res = buffer.readLine(); //只读取第一行 mHander.sendEmptyMessage(0); in.close(); buffer.close(); urlCon.disconnect(); }else{ mHander.sendEmptyMessage(1); } } catch (MalformedURLException e) { e.printStackTrace(); mHander.sendEmptyMessage(1); } catch (IOException e) { mHander.sendEmptyMessage(1); e.printStackTrace(); } catch (JSONException e) { e.printStackTrace(); } } }).start(); } public void ShowLoginToast(){ String tip = ""; if (res.equals("0")){ //查询的密码不正确 tip = "账号或密码不正确"; }else if(res.equals("1")){ tip = "登录成功 "; }else if(res.equals("404")){ tip = "服务器端配置错误"; } if (!tip.equals("")){ Toast toast = Toast.makeText(MainActivity.this, tip,Toast.LENGTH_SHORT); toast.show(); } } }