import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import com.example.week02.bean.Bean;
import com.google.gson.Gson;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
public class MainActivity extends Activity {
private ListView lv;
private Bean bj;
String path = "http://api.sina.cn/sinago/list.json?channel=hdpic_story&adid=4ad30dabe134695c3d7c3a65977d7e72&from=6042095012&chwm=12050_0001&imei=867064013906290&uid=802909da86d9f5fc&p=1";
@SuppressLint("HandlerLeak")
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
bj = (Bean) msg.obj;
Myadapter my = new Myadapter(MainActivity.this, bj);
my.notifyDataSetChanged();
lv.setAdapter(my);
super.handleMessage(msg);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 寻找控件
lv = (ListView) findViewById(R.id.listView1);
new Thread() {
public void run() {
// get方式从网络获取资源
sent_get();
}
}.start();
// lv条目的点击事件
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent intent = new Intent(MainActivity.this,
SecondActivity.class);
intent.putExtra("count", position);
intent.putExtra("bj", bj);
startActivity(intent);
}
});
}
// 获取网络资源
private void sent_get() {
// 获得ht对象
HttpClient hc = new DefaultHttpClient();
try {
// 添加访问路径
HttpGet httpget = new HttpGet(path);
// 连接网络请求数据,请求到的数据在httpResponse对象里
HttpResponse httpResponse = hc.execute(httpget);
// 获得返回码
int code = httpResponse.getStatusLine().getStatusCode();
if (code == 200) {
System.out.println("连接成功!");
// 返回数据到httpEntity =里
HttpEntity httpEntity = httpResponse.getEntity();
String json = EntityUtils.toString(httpEntity, "UTF-8");
// System.out.println(json);
Gson gson = new Gson();
Bean bean_json = gson.fromJson(json, Bean.class);
// System.out.println(bean_json.toString());、
Message msg = Message.obtain();
msg.obj = bean_json;
handler.sendMessage(msg);
} else {
System.out.println("连接失败");
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
};
}
------------------------------------------------------------------------------------------------------------------------------------------
package com.example.week02;
import java.util.List;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.example.week02.bean.Bean;
import com.example.week02.bean.Mylist;
import com.loopj.android.image.SmartImageView;
public class Myadapter extends BaseAdapter {
public MainActivity mainActivity;
private List<Mylist> list1;
int count;
private Bean bj;
public Myadapter(MainActivity mainActivity, Bean bj) {
this.mainActivity = mainActivity;
this.bj = bj;
list1 = bj.getData().getList();
// TODO Auto-generated constructor stub
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list1.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
count = position;
Viewholder vo;
if (convertView == null) {
vo = new Viewholder();
convertView = LayoutInflater.from(mainActivity).inflate(
R.layout.lv, null);
vo.tv_title = (TextView) convertView
.findViewById(R.id.textView1_title);
vo.tv_info = (TextView) convertView
.findViewById(R.id.textView2_neirong);
vo.img = (SmartImageView) convertView
.findViewById(R.id.SmartImageView);
convertView.setTag(vo);
}
else {
vo = (Viewholder) convertView.getTag();
}
vo.tv_title.setText(list1.get(position).getTitle());
vo.tv_info.setText(list1.get(position).getIntro());
vo.img.setImageUrl(list1.get(position).getPic());
return convertView;
}
class Viewholder {
SmartImageView img;
TextView tv_title;
TextView tv_info;
}
}
--------------------------------------------------------------------------------------------------------
package com.example.week02;
import java.util.List;
import com.example.week02.bean.Bean;
import com.example.week02.bean.Mylist;
import com.example.week02.dao.Mynews_Dao;
import com.loopj.android.image.SmartImageView;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.app.Activity;
import android.content.Intent;
public class SecondActivity extends Activity {
private List<Mylist> list;
private int i;
private Mynews_Dao md;
private Bean bean;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
md = new Mynews_Dao(this);
Intent intent = getIntent();
bean = (Bean) intent.getSerializableExtra("bj");
i = intent.getIntExtra("count", 0);
list = bean.getData().getList();
SmartImageView img = (SmartImageView) findViewById(R.id.SmartImageView_second);
TextView textView1_Slongtitle = (TextView) findViewById(R.id.textView1_Slongtitle);
TextView textView2_Sneirong = (TextView) findViewById(R.id.textView2_Sneirong);
Button button1_my = (Button) findViewById(R.id.button1_my);
Button button2_shoucang = (Button) findViewById(R.id.button2_shoucang);
img.setImageUrl(list.get(i).getKpic());
textView1_Slongtitle.setText(list.get(i).getLong_title());
textView2_Sneirong.setText(list.get(i).getIntro());
// 收藏点击事件
button2_shoucang.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Mylist m= list.get(i);
md.insert(m);
}
});
// 我的点击事件
button1_my.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(SecondActivity.this,
Mine_Activity.class);
startActivity(intent);
}
});
}
}
---------------------------------------------------------------------------------------------------------------------
package com.example.week02;
import java.util.List;
import com.example.week02.Myadapter.Viewholder;
import com.example.week02.bean.All;
import com.example.week02.dao.Mynews_Dao;
import com.loopj.android.image.SmartImageView;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class Mine_Activity extends Activity {
private ListView lv_mine;
private Mynews_Dao my;
private List<All> list11;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mine_);
lv_mine = (ListView) findViewById(R.id.listView1_mine);
my = new Mynews_Dao(Mine_Activity.this);
list11 = my.select();
System.out.println(list11.size()+"qqqq");
Myadaper m = new Myadaper();
m.notifyDataSetChanged();
lv_mine.setAdapter(m);
}
class Myadaper extends BaseAdapter {
@Override
public int getCount() {
// TODO Auto-generated method stub
return list11.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(final int position, View convertView,
ViewGroup parent) {
// TODO Auto-generated method stub
Viewholder vo;
if (convertView == null) {
vo = new Viewholder();
convertView = LayoutInflater.from(Mine_Activity.this).inflate(
R.layout.lv, null);
vo.tv_title = (TextView) convertView
.findViewById(R.id.textView1_title);
vo.tv_info = (TextView) convertView
.findViewById(R.id.textView2_neirong);
vo.img = (SmartImageView) convertView
.findViewById(R.id.SmartImageView);
convertView.setTag(vo);
}
else {
vo = (Viewholder) convertView.getTag();
}
vo.tv_title.setText(list11.get(position).getTitle());
vo.tv_info.setText(list11.get(position).getNeirong());
vo.img.setImageUrl(list11.get(position).getImg());
return convertView;
}
class Viewholder {
SmartImageView img;
TextView tv_title;
TextView tv_info;
}
}
}
------------------------------------------------------------------------------------------------------
package com.example.week02.dao;
import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import com.example.week02.Myhelper.Myhelper;
import com.example.week02.bean.All;
import com.example.week02.bean.Bean;
import com.example.week02.bean.Mylist;
public class Mynews_Dao {
private Myhelper my;
private SQLiteDatabase db;
private String title;
private String pic;
private String intro;
List<All> list;
private ContentValues values;
public Mynews_Dao(Context context) {
my = new Myhelper(context);
}
public void insert(Mylist m) {
db = my.getWritableDatabase();
title = m.getTitle();
intro = m.getIntro();
pic = m.getPic();
values = new ContentValues();
values.put("title", title);
values.put("neirong", intro);
values.put("img", pic);
db.insert("myshoucang", null, values);
}
public List<All> select() {
list = new ArrayList<All>();
db = my.getWritableDatabase();
Cursor cursor = db.rawQuery("select * from myshoucang ", null);
while (cursor.moveToNext()) {
All a = new All();
String title = cursor.getString(cursor.getColumnIndex("title"));
String neirong = cursor.getString(cursor.getColumnIndex("neirong"));
String img = cursor.getString(cursor.getColumnIndex("img"));
a.setImg(img);
a.setNeirong(neirong);
a.setTitle(title);
list.add(a);
}
return list;
}
}
--------------------------------------------------------------------------------------------------------
package com.example.week02.Myhelper;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class Myhelper extends SQLiteOpenHelper {
public Myhelper(Context context) {
super(context, "shoucang", null, 1);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table myshoucang (id integer primary key autoincrement ,title varchar(200), neirong varchar(200) ,img varchar(20))");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
---------------------------------------------------------------------------------------------------
package com.example.week02.bean;
import java.io.Serializable;
public class Bean implements Serializable{
public Mydata data;
public Mydata getData() {
return data;
}
public void setData(Mydata data) {
this.data = data;
}
@Override
public String toString() {
return "Bean [data=" + data + "]";
}
}
------------------------------------------------------------------------------------------------------
package com.example.week02.bean;
import java.io.Serializable;
import java.util.List;
public class Mydata implements Serializable{
public List<Mylist>list;
public List<Mylist> getList() {
return list;
}
public void setList(List<Mylist> list) {
this.list = list;
}
@Override
public String toString() {
return "Mydata [list=" + list + "]";
}
}
-------------------------------------------------------------------------------------------------
package com.example.week02.bean;
import java.io.Serializable;
public class Mylist implements Serializable {
@Override
public String toString() {
return "Mylist [comment_count_info=" + comment_count_info + ", intro="
+ intro + ", kpic=" + kpic + ", long_title=" + long_title
+ ", pic=" + pic + ", pics=" + pics + ", source=" + source
+ ", title=" + title + "]";
}
public Mycomment_count_info comment_count_info;
public String intro;
public String kpic;
public String long_title;
public String pic;
public Mypics pics;
public String source;
public String title;
public Mycomment_count_info getComment_count_info() {
return comment_count_info;
}
public void setComment_count_info(Mycomment_count_info comment_count_info) {
this.comment_count_info = comment_count_info;
}
public String getIntro() {
return intro;
}
public void setIntro(String intro) {
this.intro = intro;
}
public String getKpic() {
return kpic;
}
public void setKpic(String kpic) {
this.kpic = kpic;
}
public String getLong_title() {
return long_title;
}
public void setLong_title(String long_title) {
this.long_title = long_title;
}
public String getPic() {
return pic;
}
public void setPic(String pic) {
this.pic = pic;
}
public Mypics getPics() {
return pics;
}
public void setPics(Mypics pics) {
this.pics = pics;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
---------------------------------------------------------------------------------------------------------------
package com.example.week02.bean;
import java.io.Serializable;
public class Mycomment_count_info implements Serializable{
}
--------------------------------------------------------------------------------------------------------------
package com.example.week02.bean;
import java.io.Serializable;
import java.util.List;
public class Mypics implements Serializable {
@Override
public String toString() {
return "Mypics [list=" + list + "]";
}
public List<Mylist_pics> getList() {
return list;
}
public void setList(List<Mylist_pics> list) {
this.list = list;
}
public List<Mylist_pics> list;
}
--------------------------------------------------------------------------------------------------------------
package com.example.week02.bean;
public class All {
String title;
String img;
String neirong;
public String getImg() {
return img;
}
public void setImg(String img) {
this.img = img;
}
public String getNeirong() {
return neirong;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public void setNeirong(String neirong) {
this.neirong = neirong;
}
}
-----------------------------------------------------------------------------------------------