冲刺6
1.写了一部分的安卓。
2.安卓的网络功能,和Java后端的有些不一样,安卓里面需要用的是具体的ip地址,不能是localhost。
3.写完了安卓的功能。
4.
package com.example.medicalretrieval; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import com.example.medicalretrieval.pojo.User; import com.example.medicalretrieval.utils.Result; import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import java.io.IOException; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; public class LoginActivity extends AppCompatActivity implements View.OnClickListener { private EditText account; private EditText password; private TextView register; private TextView forgetPassword; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); account = findViewById(R.id.input_account); password = findViewById(R.id.input_password); Button login = findViewById(R.id.login); register = findViewById(R.id.register); forgetPassword = findViewById(R.id.forget_password); login.setOnClickListener(this); register.setOnClickListener(this); forgetPassword.setOnClickListener(this); } @Override public void onClick(View v) { Intent intent; switch (v.getId()){ case R.id.login: String acc = account.getText().toString(); String pass = password.getText().toString(); login(acc,pass); break; case R.id.register: intent = new Intent(this,RegisterActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); System.out.println("注册被点击"); break; case R.id.forget_password: break; } } private void login(String acc,String pass) { new Thread(() ->{ OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("http://192.168.43.144:8080/user/?account="+acc+"&password="+pass+"") .get() .build(); try { Response response = client.newCall(request).execute(); String Data = response.body().string(); Result result; result = new Gson().fromJson(Data,Result.class); if (result.getCode()==1){ JsonElement jsonElement = JsonParser.parseString(Data); JsonObject jsonObject = jsonElement.getAsJsonObject(); User user = new Gson().fromJson(jsonObject.getAsJsonObject("data"),User.class); MyApplication.getInstance().application.put("user",user); Intent intent = new Intent(LoginActivity.this, ViewPagerActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent); }else{ Toast.makeText(this, "账号或密码错误", Toast.LENGTH_SHORT).show(); } } catch (IOException e) { e.printStackTrace(); } }).start(); } private void showData(String data){ runOnUiThread(() -> { Intent intent = new Intent(LoginActivity.this, ViewPagerActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //登录成功 System.out.println(data); MyApplication.getInstance().application.put("account","");//登录信息 startActivity(intent); }); } }
package com.example.medicalretrieval; import android.app.Application; import android.content.res.Configuration; import android.database.sqlite.SQLiteDatabase; import android.util.Log; import androidx.annotation.NonNull; import androidx.room.Room; import androidx.room.RoomDatabase; import androidx.sqlite.db.SupportSQLiteDatabase; import com.example.medicalretrieval.dataBase.BrowsingHistoryDataBase; import com.example.medicalretrieval.dataBase.DownloadHistoryDataBase; import com.example.medicalretrieval.dataBase.PdfItemDataBase; import com.example.medicalretrieval.dataBase.UserDataBase; import com.example.medicalretrieval.pojo.User; import java.util.HashMap; import java.util.List; public class MyApplication extends Application { private static MyApplication mApp; public HashMap<String,Object> application = new HashMap<>(); private final String IP = "http://192.168.43.144:8080"; private UserDataBase userDataBase; private PdfItemDataBase pdfItemDataBase; private BrowsingHistoryDataBase browsingHistoryDataBase; private DownloadHistoryDataBase downloadHistoryDataBase; public static MyApplication getInstance(){ if(mApp == null){ mApp = new MyApplication(); } return mApp; } @Override public void onCreate() { super.onCreate(); mApp=this; Log.d("ning", "onCreate: "); userDataBase = Room.databaseBuilder(this,UserDataBase.class,"user") .addMigrations() .allowMainThreadQueries() .build(); pdfItemDataBase = Room.databaseBuilder(this,PdfItemDataBase.class,"pdfItem") .addMigrations() .allowMainThreadQueries() .build(); browsingHistoryDataBase = Room.databaseBuilder(this,BrowsingHistoryDataBase.class,"browsingHistory") .addMigrations() .allowMainThreadQueries() .build(); downloadHistoryDataBase = Room.databaseBuilder(this,DownloadHistoryDataBase.class,"downloadHistory") .addMigrations() .allowMainThreadQueries() .build(); } // App终止调用 @Override public void onTerminate() { super.onTerminate(); Log.d("ning", "onTerminate: "); } // 配置改变时 @Override public void onConfigurationChanged(@NonNull Configuration newConfig) { super.onConfigurationChanged(newConfig); Log.d("ning", "onConfigurationChanged: "); } public UserDataBase getUserDataBase() { return userDataBase; } public PdfItemDataBase getPdfItemDataBase() { return pdfItemDataBase; } public BrowsingHistoryDataBase getBrowsingHistoryDataBase(){return browsingHistoryDataBase;} public DownloadHistoryDataBase getDownloadHistoryDataBase(){return downloadHistoryDataBase;} }
浙公网安备 33010602011771号