AsyncTask로 회원관리 하는 어플을 만들려고 했는데 30버전 이상부터는 못쓴다고 하더라고요. 그러면 RxJava나 needle kotlin 으로 바꿔야하는데 도저히 변경방법을 모르겠어요. 구글 검색해도 간단한 예제 하나 던져주고 끝나서 저는 서버에서 정보를 땡겨오는거라 영 이해가안되네요... 구동하고 싶은건 btn_user 버튼 누르면 고객관리 페이지로 넘어가고 php 파일을 통해 mysql의 userlist 데이터를 불러오는 겁니다. 진짜 이거 왜 지원안해주는지 이해가안되네요 이렇게 좋은 시스템을..
public class MainActivity extends AppCompatActivity {
private TextView tv_id, tv_pass;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_id = findViewById(R.id.tv_id);
tv_pass = findViewById(R.id.tv_pass);
Button btn_user = (Button) findViewById(R.id.btn_user);
Intent intent = getIntent();
String id = intent.getStringExtra("id");
String pass = intent.getStringExtra("pass");
tv_id.setText(id);
tv_pass.setText(pass);
if(!id.equals("admin"))
{
btn_user.setVisibility(View.GONE);
}
//--------------------------------------------------------------------------------
btn_user.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
new BackgroundTask().execute();
}
});
}
class BackgroundTask extends AsyncTask<Void, Void, String> {
String target;
@Override
protected void onPreExecute() {
target = "http://IP/userlist.php";
}
@Override
protected String doInBackground(Void... voids) {
try {
URL url = new URL(target);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String temp;
StringBuilder stringBuilder = new StringBuilder();
while ((temp = bufferedReader.readLine()) != null) {
stringBuilder.append(temp + "\n");
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
return stringBuilder.toString().trim();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(String result) {
Intent intent = new Intent(MainActivity.this, ManagementActivity.class);
intent.putExtra("userList", result);
MainActivity.this.startActivity(intent);
}
}
//--------------------------------------------------------------------------------
}