Android 如何将onpostexecute方法的AsyncTask数据拆分为数组
我想分割数据,以便在不同的文本视图中显示它 正如我在图像中给出的,数据需要显示到这些不同的文本视图中 我可以在一个文本视图中获取数据,但不能在多个文本视图中获取数据 php代码:Android 如何将onpostexecute方法的AsyncTask数据拆分为数组,android,android-asynctask,Android,Android Asynctask,我想分割数据,以便在不同的文本视图中显示它 正如我在图像中给出的,数据需要显示到这些不同的文本视图中 我可以在一个文本视图中获取数据,但不能在多个文本视图中获取数据 php代码: <?php require "init.php"; $user_name=$_POST["login_name"]; $user_pass=$_POST["login_pass"]; $sql = "SELECT name,user_name,PRN,cast,dob,admi
<?php
require "init.php";
$user_name=$_POST["login_name"];
$user_pass=$_POST["login_pass"];
$sql = "SELECT name,user_name,PRN,cast,dob,admission_category,nationality,permnent_address,local_address,roll_no,class,sub_cast,birth_place,mobile_no,email,branch FROM user_info where user_name like '$user_name'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "name: " . $row["name"];
}
} else {[enter image description here][1]
echo "login failed try again";
}
$conn->close();
?>*
背景任务
class BackgroundTask extends AsyncTask<String, Void, String> {
AlertDialog alertDialog;
TextView textView1;
Context ctx;
BackgroundTask(Context ctx)
{
this.textView1=textView1;
this.ctx=ctx;
}
@Override
protected void onPreExecute()
{
alertDialog=new AlertDialog.Builder(ctx).create();
alertDialog.setTitle("Login Information...");
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(String result) {
if(result.equals("registration success")) {
Toast.makeText(ctx, result, Toast.LENGTH_LONG).show();
}
else
{
// alertDialog.setMessage(result);
// alertDialog.show();
Toast.makeText(ctx, result, Toast.LENGTH_LONG).show();
Intent intent=new Intent(ctx,drawer.class);
intent.putExtra("sey",result);
String a=result;
ctx.startActivity(intent);
}
}
@Override
protected String doInBackground(String... params) {
String reg_url="http://10.0.2.2/webapp/register.php";
String login_url="http://10.0.2.2/webapp/login.php";
String method=params[0];
if(method.equals("register"))
{
String name=params[1];
String user_name=params[2];
String user_pass=params[3];
try {
URL url=new URL(reg_url);
HttpURLConnection httpURLConnection=(HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
OutputStream os=httpURLConnection.getOutputStream();
BufferedWriter bufferedWriter=new BufferedWriter(new OutputStreamWriter(os,"UTF-8"));
String data= URLEncoder.encode("user","UTF-8")+ "="+URLEncoder.encode(name,"UTF-8")+"&"+
URLEncoder.encode("user_name","UTF-8")+ "="+URLEncoder.encode(user_name,"UTF-8")+"&"+
URLEncoder.encode("user_pass","UTF-8")+ "="+URLEncoder.encode(user_pass,"UTF-8");
bufferedWriter.write(data);
bufferedWriter.flush();
bufferedWriter.close();
os.close();
InputStream is=httpURLConnection.getInputStream();
is.close();
return "registration success";
}
catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
else if(method.equals("login"))
{
String login_name=params[1];
String login_pass=params[2];
try {
URL url=new URL(login_url);
HttpURLConnection httpURLConnection=(HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
OutputStream outputStream=httpURLConnection.getOutputStream();
BufferedWriter bufferedWriter=new BufferedWriter(new OutputStreamWriter(outputStream,"UTF-8"));
String data=URLEncoder.encode("login_name","UTF-8")+"="+URLEncoder.encode(login_name,"UTF-8")+"&"+
URLEncoder.encode("login_pass","UTF-8")+"="+URLEncoder.encode(login_pass,"UTF-8");
bufferedWriter.write(data);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
InputStream inputStream=httpURLConnection.getInputStream();
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
String response="";
String line="";
while ((line=bufferedReader.readLine())!=null)
{
response+=line;
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
return response;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
}
class BackgroundTask扩展了AsyncTask{
警报对话框警报对话框;
文本视图文本视图1;
上下文ctx;
背景任务(上下文ctx)
{
this.textView1=textView1;
这个.ctx=ctx;
}
@凌驾
受保护的void onPreExecute()
{
alertDialog=新建alertDialog.Builder(ctx.create();
alertDialog.setTitle(“登录信息…”);
}
@凌驾
受保护的void onProgressUpdate(void…值){
super.onProgressUpdate(值);
}
@凌驾
受保护的void onPostExecute(字符串结果){
如果(结果等于(“注册成功”)){
Toast.makeText(ctx,result,Toast.LENGTH_LONG).show();
}
其他的
{
//alertDialog.setMessage(结果);
//alertDialog.show();
Toast.makeText(ctx,result,Toast.LENGTH_LONG).show();
意向意向=新意向(ctx,抽屉类);
意向。额外(“sey”,结果);
字符串a=结果;
星触觉(意图);
}
}
@凌驾
受保护的字符串doInBackground(字符串…参数){
字符串注册表url=”http://10.0.2.2/webapp/register.php";
字符串登录\u url=”http://10.0.2.2/webapp/login.php";
字符串方法=参数[0];
if(方法等于(“寄存器”))
{
字符串名称=参数[1];
字符串user_name=params[2];
字符串user_pass=params[3];
试一试{
URL=新URL(注册URL);
HttpURLConnection HttpURLConnection=(HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod(“POST”);
httpURLConnection.setDoOutput(true);
OutputStream os=httpURLConnection.getOutputStream();
BufferedWriter BufferedWriter=新的BufferedWriter(新的OutputStreamWriter(os,“UTF-8”));
字符串数据=urlcoder.encode(“用户”、“UTF-8”)+“=”+urlcoder.encode(名称,“UTF-8”)+“&”+
URLEncoder.encode(“用户名”,“UTF-8”)+”=“+URLEncoder.encode(用户名,“UTF-8”)+”&”+
urlcoder.encode(“用户密码”,“UTF-8”)+“=”+urlcoder.encode(用户密码,“UTF-8”);
bufferedWriter.write(数据);
bufferedWriter.flush();
bufferedWriter.close();
os.close();
InputStream=httpURLConnection.getInputStream();
is.close();
返回“注册成功”;
}
捕获(格式错误){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
}
else if(method.equals(“login”))
{
字符串login_name=params[1];
字符串login_pass=params[2];
试一试{
URL=新URL(登录\ URL);
HttpURLConnection HttpURLConnection=(HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod(“POST”);
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
OutputStream OutputStream=httpURLConnection.getOutputStream();
BufferedWriter BufferedWriter=新的BufferedWriter(新的OutputStreamWriter(outputStream,UTF-8));
字符串数据=urlcoder.encode(“登录名”,“UTF-8”)+“=”+urlcoder.encode(登录名,“UTF-8”)+“&”+
urlcoder.encode(“登录密码”,“UTF-8”)+“=”+urlcoder.encode(登录密码,“UTF-8”);
bufferedWriter.write(数据);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
InputStream InputStream=httpURLConnection.getInputStream();
BufferedReader BufferedReader=新的BufferedReader(新的InputStreamReader(inputStream,“iso-8859-1”);
字符串响应=”;
字符串行=”;
而((line=bufferedReader.readLine())!=null)
{
响应+=行;
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
返回响应;
}捕获(格式错误){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
}
返回null;
}
}
如果数据长度和结构未知
您可以如下所示显示它
class BackgroundTask extends AsyncTask<String, Void, String> {
AlertDialog alertDialog;
TextView textView1;
Context ctx;
BackgroundTask(Context ctx)
{
this.textView1=textView1;
this.ctx=ctx;
}
@Override
protected void onPreExecute()
{
alertDialog=new AlertDialog.Builder(ctx).create();
alertDialog.setTitle("Login Information...");
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(String result) {
if(result.equals("registration success")) {
Toast.makeText(ctx, result, Toast.LENGTH_LONG).show();
}
else
{
// alertDialog.setMessage(result);
// alertDialog.show();
Toast.makeText(ctx, result, Toast.LENGTH_LONG).show();
Intent intent=new Intent(ctx,drawer.class);
intent.putExtra("sey",result);
String a=result;
ctx.startActivity(intent);
}
}
@Override
protected String doInBackground(String... params) {
String reg_url="http://10.0.2.2/webapp/register.php";
String login_url="http://10.0.2.2/webapp/login.php";
String method=params[0];
if(method.equals("register"))
{
String name=params[1];
String user_name=params[2];
String user_pass=params[3];
try {
URL url=new URL(reg_url);
HttpURLConnection httpURLConnection=(HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
OutputStream os=httpURLConnection.getOutputStream();
BufferedWriter bufferedWriter=new BufferedWriter(new OutputStreamWriter(os,"UTF-8"));
String data= URLEncoder.encode("user","UTF-8")+ "="+URLEncoder.encode(name,"UTF-8")+"&"+
URLEncoder.encode("user_name","UTF-8")+ "="+URLEncoder.encode(user_name,"UTF-8")+"&"+
URLEncoder.encode("user_pass","UTF-8")+ "="+URLEncoder.encode(user_pass,"UTF-8");
bufferedWriter.write(data);
bufferedWriter.flush();
bufferedWriter.close();
os.close();
InputStream is=httpURLConnection.getInputStream();
is.close();
return "registration success";
}
catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
else if(method.equals("login"))
{
String login_name=params[1];
String login_pass=params[2];
try {
URL url=new URL(login_url);
HttpURLConnection httpURLConnection=(HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
OutputStream outputStream=httpURLConnection.getOutputStream();
BufferedWriter bufferedWriter=new BufferedWriter(new OutputStreamWriter(outputStream,"UTF-8"));
String data=URLEncoder.encode("login_name","UTF-8")+"="+URLEncoder.encode(login_name,"UTF-8")+"&"+
URLEncoder.encode("login_pass","UTF-8")+"="+URLEncoder.encode(login_pass,"UTF-8");
bufferedWriter.write(data);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
InputStream inputStream=httpURLConnection.getInputStream();
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
String response="";
String line="";
while ((line=bufferedReader.readLine())!=null)
{
response+=line;
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
return response;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
}