解析json图片
来源:互联网 发布:qt网络编程实战源码 编辑:程序博客网 时间:2024/05/06 08:53
public class MyPagerAdapter extends PagerAdapter {
public Context context;
public List<Item> list;
public MyPagerAdapter(Context context, List<Item> list){
this.context=context;
this.list=list;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
View v = View.inflate(context, R.layout.itempage, null);
ImageView imagepage = (ImageView)v.findViewById(R.id.imagepage);
BitmapUtils bit=new BitmapUtils(context);
bit.display(imagepage,list.get(position%list.size()).img);
container.addView(v);
return v;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// TODO Auto-generated method stub
container.removeView((View) object);
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0==arg1;
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public class MainActivity extends FragmentActivity implements OnClickListener{
private ViewPager page;
private LinearLayout line;
private List<ImageView> str;
List<Item> list;
private List<Fragment> listfragment;
private ViewPager page2;
private Button but1;
private Button but2;
private Button but3;
private Button but4;
List<Button> listButton;
String path="http://172.17.29.120/localuser/ljy/shoptest/commodity.json";
Handler han=new Handler(){
public void handleMessage(android.os.Message msg){
Bean[] bean = (Bean[])msg.obj;
for (Bean bean2 : bean) {
list = bean2.item;
}
page.setAdapter(new MyPagerAdapter(MainActivity.this,list));
initData();
setchge();
};
};
Handler han1=new Handler(){
public void handleMessage(Message msg) {
int item = page.getCurrentItem();
item++;
page.setCurrentItem(item);
han1.sendEmptyMessageDelayed(0, 2000);
};
};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//寻找控件
getText1();
//注册监听
getonclick();
//开启线程解析数据
getThread();
getData();
page2.setAdapter(new MypageAdapter2(getSupportFragmentManager(), listfragment));
listButton=new ArrayList<Button>();
listButton.add(but1);
listButton.add(but2);
listButton.add(but3);
listButton.add(but4);
page2.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
for (int i = 0; i < listButton.size(); i++) {
if(i==arg0){
listButton.get(i).setTextColor(Color.RED);
}else{
listButton.get(i).setTextColor(Color.BLACK);
}
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
}
private void getThread() {
new Thread(){
public void run() {
getJson();
};
}.start();
}
private void getText1(){
page = (ViewPager)findViewById(R.id.page);
page2 = (ViewPager)findViewById(R.id.page2);
line = (LinearLayout)findViewById(R.id.line);
but1 = (Button)findViewById(R.id.but1);
but2 = (Button)findViewById(R.id.but2);
but3 = (Button)findViewById(R.id.but3);
but4 = (Button)findViewById(R.id.but4);
}
private void getonclick() {
but1.setOnClickListener(this);
but2.setOnClickListener(this);
but3.setOnClickListener(this);
but4.setOnClickListener(this);
}
public void getData(){
listfragment = new ArrayList<Fragment>();
listfragment.add(new F1());
listfragment.add(new F2());
listfragment.add(new F3());
listfragment.add(new F4());
}
@SuppressLint("NewApi")
private void initData() {
str = new ArrayList<ImageView>();
str.clear();
line.removeAllViews();
// TODO Auto-generated method stub
for (int i = 0; i <list.size(); i++) {
ImageView imag=new ImageView(MainActivity.this);
if(i==0){
imag.setImageResource(R.drawable.dra);
}else{
imag.setImageResource(R.drawable.dra2);
}
LayoutParams params=new LayoutParams(15, 15);
params.setMargins(5, 0, 5, 0);
str.add(imag);
line.addView(imag,params);
}
}
private void setchge() {
// TODO Auto-generated method stub
page.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
for (int i = 0; i < str.size(); i++) {
if(i==arg0%list.size()){
str.get(i).setImageResource(R.drawable.dra);
}else{
str.get(i).setImageResource(R.drawable.dra2);
}
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
han1.sendEmptyMessageDelayed(0, 2000);
}
private void getJson() {
// TODO Auto-generated method stub
try {
HttpClient http=new DefaultHttpClient();
HttpGet get = new HttpGet(path);
HttpResponse execute = http.execute(get);
HttpEntity entity = execute.getEntity();
String json = EntityUtils.toString(entity, "gbk");
Gson gson=new Gson();
Bean[] bean = gson.fromJson(json, Bean[].class);
Message msg=Message.obtain();
msg.obj=bean;
han.sendMessage(msg);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
switch (arg0.getId()) {
case R.id.but1:
page2.setCurrentItem(0);
break;
case R.id.but2:
page2.setCurrentItem(1);
break;
case R.id.but3:
page2.setCurrentItem(2);
break;
case R.id.but4:
page2.setCurrentItem(3);
break;
default:
break;
}
}
}
- 解析json图片
- Volley解析Json加载图片
- 工具包解析json和图片
- 获取网络json解析中的图片
- 获取json解析 图片,文字+MyAsyncTask+ImagerLoader
- 获取网络json解析中的图片
- 使用Gson解析json并且加载json中的网络图片
- Json解析网络获取Viewpager图片glide下载图片
- 【JSON解析】JSON解析
- [Android] Json格式解析和文字图片传输
- 【Android实战】json解析+GridView自适应布局+图片加载
- 解析Json数据并缓存图片到sdcard
- extjs 上传文件或是图片后返回json解析错误
- Android异步加载访问网络图片-解析json
- 解析json字符串并进行图片位置的替换
- HttpClient解析json(涉及AsyncTas异步加载图片)
- Http请求解析Json与图片(AlertDialog)提示框
- Http请求解析Json与图片(AlertDialog)提示框
- pullGridView
- 圆形图片
- C++作业6
- iOS开发-QRCode-二维码识别与生成
- OpenVPN 实现跨网络远程桌面访问
- 解析json图片
- linux常用命令之文件权限
- 生产者—消费者模式的两种同步实现
- 扑克牌顺子
- 自定义ViewPager的导航indecator(非常实用和主流)
- 台大林轩田·机器学习基石记要
- UVA oj 458 The Decoder(简单字符串)
- 内核、操作系统、Shell
- JAVA基础之理解JNI原理(转)