新手代码问题,没用到数据库却显示数据库安全性不好

爱撸铁的90后码农 2017-11-05 10:22:26
package com.example.lenovo.shuaxin;

import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

public class MainActivity extends AppCompatActivity {
public int position;
PullToRefreshListView mPullToRefreshListView;
private SimpleAdapter adapter;
public static final int UPDATE=1;
private List<Map<String,String>> list;
// 数据组合
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mPullToRefreshListView = (PullToRefreshListView) findViewById(R.id.id_lv_test);
mPullToRefreshListView.setMode(PullToRefreshBase.Mode.PULL_FROM_START);//设置下拉模式
adapter=new SimpleAdapter(this, list, R.layout.simple_layout, new String[] {"title"}, new int[] {R.id.simple_tv});//
mPullToRefreshListView.setAdapter(adapter);//加入适配器内容
mPullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ListView>() {
//nizhegge fangfang没被执行到 ,这里出问题,没进来····试一下就知道l刷一下
@Override
public void onRefresh(PullToRefreshBase<ListView> refreshView) {

Thread thread=new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(2000);
OkHttpClient client=new OkHttpClient();
Request request=new Request.Builder().url("http://116.29.202.174:8080/light1.json").build();//获取内容
/* if(!request.isHttps()){
Toast.makeText(MainActivity.this,"获取数据出现错误",Toast.LENGTH_LONG).show();
}*/
Response response=client.newCall(request).execute();//发送请求并获取服务器返回来的数据
String responsedata=response.body().string();//获取服务器具体返回的信息
pasrseJSONwithGSON(responsedata);
}
catch (InterruptedException e){
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
});
thread.start();
}
});
mPullToRefreshListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent=new Intent(MainActivity.this, zdludeng.class);//页面跳转
intent.putExtra("data", position);//将要传递的值附加到Intent对象
startActivity(intent);
//Toast.makeText(MainActivity.this,strs.toString(),Toast.LENGTH_SHORT).show();
//Intent intent=new Intent(MainActivity.this,zdludeng.class);//跳转到intent界面
//startActivity(intent);
// finish();//结束界面
}
});
}
private void pasrseJSONwithGSON(String jsondata){
Gson gosn=new Gson();//创建解gson析对象
list=gosn.fromJson(jsondata,new TypeToken<List<Light>>(){}.getType());//Gson解析方法
Message messages=new Message();
messages.what=UPDATE;
handler.sendMessage(messages);
}
Handler handler= new Handler() {
public void handleMessage(Message msg){
switch (msg.what){
case UPDATE:
/* Gson gosn=new Gson();
SharedPreferences get=getSharedPreferences("data",MODE_PRIVATE);
String id=get.getString("str","");
list=gosn.fromJson(id,new TypeToken<List<ludeng>>(){}.getType());*/
Log.i("MainActivity","消息被执行了");
if(list!= null ) {
list.clear();//数据清空,防止重复加载
for(int i=0;i<list.size();i++)
{
Map<String,String> map=new HashMap<String,String>();
map.put("title", ""+i+"");
list.add(map);
}
}
else {
Toast.makeText(MainActivity.this,"网络发生故障",Toast.LENGTH_LONG).show();
}
break;
default:
break;
}
adapter.notifyDataSetChanged();//通知listview界面更新
mPullToRefreshListView.onRefreshComplete();//通知mpullToRefreshListView刷新完成,避免重复刷新
}
};

}
然后我运行后一直都是
11-04 16:25:30.293 2377-2385/? W/SQLiteConnectionPool: A SQLiteConnection object for database '/data/user/0/com.google.android.gms/databases/help_responses.db.18' was leaked! Please fix your application to end transactions in progress properly and to close the database when it is no longer needed.
新手的我表示看不到
...全文
138 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sagittarius1988 2017-11-05
  • 打赏
  • 举报
回复
跟你代码没关系,这个是谷歌服务组件的问题
  • 打赏
  • 举报
回复
一些注释的代码忘记删除了,删除完是这样的: import android.content.Intent; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.Toast; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.handmark.pulltorefresh.library.PullToRefreshBase; import com.handmark.pulltorefresh.library.PullToRefreshListView; import java.util.HashMap; import java.util.List; import java.util.Map; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; public class MainActivity extends AppCompatActivity { PullToRefreshListView mPullToRefreshListView; private SimpleAdapter adapter; public static final int UPDATE=1; private List<Map<String,String>> list; // 数据组合 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mPullToRefreshListView = (PullToRefreshListView) findViewById(R.id.id_lv_test); mPullToRefreshListView.setMode(PullToRefreshBase.Mode.PULL_FROM_START);//设置下拉模式 adapter=new SimpleAdapter(this, list, R.layout.simple_layout, new String[] {"title"}, new int[] {R.id.simple_tv});// mPullToRefreshListView.setAdapter(adapter);//加入适配器内容 mPullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener<ListView>() { //nizhegge fangfang没被执行到 ,这里出问题,没进来····试一下就知道l刷一下 @Override public void onRefresh(PullToRefreshBase<ListView> refreshView) { Thread thread=new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(2000); OkHttpClient client=new OkHttpClient(); Request request=new Request.Builder().url("http://116.29.201.184:8080/light.json").build();//获取内容 Response response=client.newCall(request).execute();//发送请求并获取服务器返回来的数据 String responsedata=response.body().string();//获取服务器具体返回的信息 pasrseJSONwithGSON(responsedata); } catch (InterruptedException e){ e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } }); thread.start(); } }); mPullToRefreshListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent intent=new Intent(); intent.setClass(MainActivity.this, zdludeng.class);//页面跳转 intent.putExtra("data", position);//将要传递的值附加到Intent对象 startActivity(intent); finish();//结束界面 } }); } private void pasrseJSONwithGSON(String jsondata){ Gson gosn=new Gson();//创建解gson析对象 list=gosn.fromJson(jsondata,new TypeToken<List<Light>>(){}.getType());//Gson解析方法 Message messages=new Message(); messages.what=UPDATE; handler.sendMessage(messages); } Handler handler= new Handler() { public void handleMessage(Message msg){ switch (msg.what){ case UPDATE: Log.i("MainActivity","消息被执行了"); if(list!= null ) { list.clear();//数据清空,防止重复加载 for(int i=0;i<list.size();i++) { Map<String,String> map=new HashMap<String,String>(); map.put("title", "��������"+i+"��"); list.add(map); } } else { Toast.makeText(MainActivity.this,"网络发生故障",Toast.LENGTH_LONG).show(); } break; default: break; } adapter.notifyDataSetChanged();//通知listview界面更新 mPullToRefreshListView.onRefreshComplete();//通知mpullToRefreshListView刷新完成,避免重复刷新 } }; }
  • 打赏
  • 举报
回复
gosn组件之前可以用的呀 改了代码就不行了

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧