我想在android中从mysql数据库中检索数据,并在textview中显示
这是后台asynctask代码
public class BackgroundAsyncTask extends AsyncTask<String, Void, String> {
Context ctx;
TextView tv;
BackgroundAsyncTask(Context ctx) {
this.ctx = ctx;
}
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(String... params) {
String insert_url="http://192.168.10.3:81/android_exam_practice/insert.php";
String select_url="http://192.168.10.3:81/android_exam_practice/select.php";
String method=params[0];
if(method.equals("insert"))
{
String name=params[1];
String email=params[2];
try {
URL url=new URL(insert_url);
HttpURLConnection httpURLConnection=(HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
OutputStream outputStream=httpURLConnection.getOutputStream();
BufferedWriter bufferedWriter=new BufferedWriter(new OutputStreamWriter(outputStream,"UTF-8"));
String data= URLEncoder.encode("name","UTF-8")+"="+URLEncoder.encode(name,"UTF-8")+"&"+
URLEncoder.encode("email","UTF-8")+"="+URLEncoder.encode(email,"UTF-8");
bufferedWriter.write(data);
bufferedWriter.flush();
outputStream.close();
InputStream inputStream=httpURLConnection.getInputStream();
inputStream.close();
return "data inserted ";
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
else if(method.equals("select"))
{
// String Name=params[1];
// String Email=params[2];
try {
URL url=new URL(select_url);
HttpURLConnection httpURLConnection=(HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("post");
httpURLConnection.setDoInput(true);
httpURLConnection.setDoOutput(true);
//OutputStream outputStream=httpURLConnection.getOutputStream();
//BufferedWriter bufferedWriter=new BufferedWriter(new OutputStreamWriter(outputStream,"UTF-8"));
//String data =URLEncoder.encode("");
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();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(String aVoid) {
super.onPostExecute(aVoid);
// Toast.makeText(ctx, aVoid, Toast.LENGTH_SHORT).show();
tv.setText(aVoid);
}
}
你的解决方案在这里。
在OnPostExecute()
方法中初始化TextView
@Override
protected void onPostExecute(String aVoid) {
super.onPostExecute(aVoid);
// Toast.makeText(ctx, aVoid, Toast.LENGTH_SHORT).show();
tv = findViewById(R.id.textView);
tv.setText(aVoid);
}
我在通知CursorAdapter数据已更改时遇到问题。 SQLite数据库用AsyncTask更新(有公共接口,ListFragment用listener实现),我尝试用onPostExecute刷新ListAdapter,但我真的不知道如何刷新。
我的想法是,我启动一个异步任务,从Tweeter获取状态...在这里之前一切正常...但是当我遇到一些特定的tweets时,我需要用服务器上的一些信息来修改它们,这里我将进行另一个网络操作,因为我需要等待,直到我从服务器上获取信息,我做: 这是从doInBackground()方法中的allready启动的AsyncTask启动的... 我知道我可以在AsyncTask中添加方法并在doInBac
tl;dr:ngOnChanges显示在输入属性上检测到更改,但视图未更新 我正在开发一个Angular(2+)应用程序,试图为一个异步任务创建一个进度条,该任务由一个服务使用可观察的。Observable将数字作为数据推送,以指示任务已完成的百分比。涉及三个部分:服务、ResultsComponent和ProgressBarComponent(ResultsComponent的子级)。基本数据流
问题内容: 抱歉,这可能是一个简单的错误,对Android开发人员来说是新的,但是我一直在网上寻找答案,而这些解决方案似乎都不起作用。每当我尝试运行下面的代码时,都会提示为什么/如何修复它的任何想法。首先是java文件 一直工作到这里,然后在下一行崩溃 XML文件中的部分看起来像这样, 它在表格中的位置,呈线性布局。 Logcat错误: 问题答案: 在片段的内部更改如下: 您尝试不使用其容器视图来
问题内容: 我目前正在使用基于Web的Twitter客户端,因此我使用了angular.js,node.js和socket.io。我通过socket.io将新的推文推到我的客户端,服务在其中等待新的推文。当一条新的推文到来时,该服务通过$ broadcast发送事件。 在我的控制器中是一个事件侦听器,其中传入的tweet在单独的函数中进行处理。此功能只是将新的推文推入我的推文范围。 现在,我的问题
我有一个类SomeActivity扩展了BaseListActivity。BaseListActivity扩展了ListActivity和所有工作的功能。 但当列表必须更新时,我使用AsyncTask使用远程服务器调用,该调用声明如下: 在那里,有一行可以像这样更新列表: 但这条线似乎起不到什么作用。 有什么不同之处可以让它发挥作用吗? 但例外情况并不准确。我能解决主机问题。在我添加BaseLis