Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将onpostexecute方法的AsyncTask数据拆分为数组_Android_Android Asynctask - Fatal编程技术网

Android 如何将onpostexecute方法的AsyncTask数据拆分为数组

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代码:

 <?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;
}
}

如果数据长度和结构未知

您可以如下所示显示它

  • 数据的结构应类似(XML、Json)

    { “姓名”:“托马斯”, “年龄”:12岁, “地址”:“伦敦” }

  • 每个元素都应该包含一个键,以便您可以使用该键生成TextView(用于标签)

  • TextView将以动态方式生成,因为json数据中的数据长度是动态的。(就这样)
  • 但是请记住,如果android中显示的某些数据没有任何自定义样式。布局不仅难看,而且不可读。如果服务器上的所有数据(包括项目id或敏感信息)都被删除,则可能会受到攻击
        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;
            }
        }