zoukankan      html  css  js  c++  java
  • 连网获取图片的小程序

    这些文件实际存放在电脑的硬盘上,通过tomcat已经做好了映射:参考

      1 package net.blogjava.mobile;
      2 
      3 import java.io.BufferedReader;
      4 import java.io.InputStream;
      5 import java.io.InputStreamReader;
      6 import java.net.URL;
      7 import java.net.URLConnection;
      8 import java.util.ArrayList;
      9 import java.util.List;
     10 
     11 import android.app.ListActivity;
     12 import android.content.Context;
     13 import android.content.Intent;
     14 import android.graphics.Bitmap;
     15 import android.graphics.BitmapFactory;
     16 import android.os.Bundle;
     17 import android.util.Log;
     18 import android.view.LayoutInflater;
     19 import android.view.Menu;
     20 import android.view.MenuInflater;
     21 import android.view.MenuItem;
     22 import android.view.View;
     23 import android.view.ViewGroup;
     24 import android.widget.BaseAdapter;
     25 import android.widget.ImageView;
     26 import android.widget.LinearLayout;
     27 import android.widget.RatingBar;
     28 import android.widget.TextView;
     29 
     30 public class Main extends ListActivity
     31 {
     32     
     33     
     34     @Override
     35     public boolean onCreateOptionsMenu(Menu menu) {
     36         
     37     
     38             MenuInflater inflater = getMenuInflater();
     39             inflater.inflate(R.menu.menu, menu);//调用第二步中定义的Menu界面描述文件
     40             return true;
     41 
     42     }
     43     
     44 
     45     @Override
     46     public boolean onOptionsItemSelected(MenuItem item) {
     47         // TODO Auto-generated method stub
     48         Intent intent = new Intent(Main.this, Main.class);
     49         startActivity(intent);                                    
     50          //close this activity
     51          finish();
     52         return true;
     53     }
     54 
     55 
     56     public class ApkListAdapter extends BaseAdapter
     57     {
     58         private Context context;
     59         private LayoutInflater layoutInflater;
     60         private String inflater = Context.LAYOUT_INFLATER_SERVICE;
     61         private String rootUrl = "http://192.168.43.62/apk/";
     62         private String listUrl = rootUrl + "list.txt";
     63         private List<ImageData> imageDataList = new ArrayList<ImageData>();
     64 
     65         class ImageData
     66         {
     67             public String url;
     68             public String applicationName;
     69             public float rating;
     70         }
     71 
     72         private InputStream getNetInputStream(String urlStr)
     73         {
     74             try
     75             {
     76                 URL url = new URL(urlStr);
     77                 URLConnection conn = url.openConnection();
     78                 conn.connect();
     79                 InputStream is = conn.getInputStream();
     80                 return is;
     81             }
     82             catch (Exception e)
     83             {
     84 
     85             }
     86             return null;
     87         }
     88 
     89         public ApkListAdapter(Context context)
     90         {
     91             this.context = context;
     92             layoutInflater = (LayoutInflater) context
     93                     .getSystemService(inflater);
     94             try
     95             {
     96                 InputStream is = getNetInputStream(listUrl);
     97                 InputStreamReader isr = new InputStreamReader(is, "GBK");
     98                 BufferedReader br = new BufferedReader(isr);
     99                 String s = null;
    100                 while ((s = br.readLine()) != null)
    101                 {
    102                     String[] data = s.split(",");
    103                     if (data.length > 2)
    104                     {
    105                         ImageData imageData = new ImageData();
    106                         imageData.url = data[0];
    107                         Log.d("aa", imageData.url);
    108                         imageData.applicationName = data[1];
    109                         imageData.rating = Float.parseFloat(data[2]);
    110                         imageDataList.add(imageData);
    111                     }
    112                 }
    113                 is.close();
    114             }
    115             catch (Exception e)
    116             {
    117                 // TODO: handle exception
    118             }
    119         }
    120 
    121         @Override
    122         public int getCount()
    123         {
    124             return imageDataList.size();
    125         }
    126 
    127         @Override
    128         public Object getItem(int position)
    129         {
    130             return position;
    131         }
    132 
    133         @Override
    134         public long getItemId(int position)
    135         {
    136             return position;
    137         }
    138 
    139         @Override
    140         public View getView(int position, View convertView, ViewGroup parent)
    141         {
    142             LinearLayout linearLayout = (LinearLayout) layoutInflater.inflate(
    143                     R.layout.item, null);
    144             ImageView ivLogo = (ImageView) linearLayout
    145                     .findViewById(R.id.ivLogo);
    146 
    147             TextView tvApplicationName = ((TextView) linearLayout
    148                     .findViewById(R.id.tvApplicationName));
    149 
    150             TextView tvRating = (TextView) linearLayout
    151                     .findViewById(R.id.tvRating);
    152             RatingBar ratingBar = (RatingBar) linearLayout
    153                     .findViewById(R.id.ratingbar);
    154 
    155             tvApplicationName
    156                     .setText(imageDataList.get(position).applicationName);
    157             tvRating
    158                     .setText(String.valueOf(imageDataList.get(position).rating));
    159             ratingBar.setRating(imageDataList.get(position).rating);
    160 
    161             try
    162             {
    163                 InputStream is = getNetInputStream(rootUrl
    164                         + imageDataList.get(position).url);
    165                 Bitmap bitmap = BitmapFactory.decodeStream(is);
    166                 is.close();
    167                 ivLogo.setImageBitmap(bitmap);
    168             }
    169             catch (Exception e)
    170             {
    171             }
    172 
    173             return linearLayout;
    174         }
    175     }
    176 
    177     @Override
    178     public void onCreate(Bundle savedInstanceState)
    179     {
    180         super.onCreate(savedInstanceState);
    181         ApkListAdapter apkListAdapter = new ApkListAdapter(this);
    182         setListAdapter(apkListAdapter);
    183 
    184     }
    185 }

    要想实现最终的功能,手机和电脑必须在同一个内网上,手机建立热点,电脑连上。

    最终效果:

    源码传送门

    在台式机上发现

    http://219.245.64.92:8080/apk/ 本机IP

    http://219.245.64.1:8080/apk/ 都能找到

    哈哈,发现最终可能是师兄留下的,原来别人早已干过,惭愧!

  • 相关阅读:
    Druid.io系列(三): Druid集群节点
    Druid.io系列(二):基本概念与架构
    Druid.io系列(一):简介
    am335x backlight
    imx6 fec分析
    imx6 ar8031 千兆网卡不能用
    imx6 spi分析
    imx6 i2c分析
    imx6 uart分析
    imx6 gpio分析
  • 原文地址:https://www.cnblogs.com/hixin/p/4385680.html
Copyright © 2011-2022 走看看