亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android編程實(shí)現(xiàn)網(wǎng)絡(luò)圖片查看器和網(wǎng)頁(yè)源碼查看器實(shí)例

 更新時(shí)間:2016年01月04日 11:33:35   作者:傅榮康  
這篇文章主要介紹了Android編程實(shí)現(xiàn)網(wǎng)絡(luò)圖片查看器和網(wǎng)頁(yè)源碼查看器,結(jié)合實(shí)例形式分析了Android針對(duì)網(wǎng)絡(luò)圖片及網(wǎng)頁(yè)的相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了Android編程實(shí)現(xiàn)網(wǎng)絡(luò)圖片查看器和網(wǎng)頁(yè)源碼查看器。分享給大家供大家參考,具體如下:

網(wǎng)絡(luò)圖片查看器

清單文加入網(wǎng)絡(luò)訪問權(quán)限:

<!-- 訪問internet權(quán)限 -->
<uses-permission android:name="android.permission.INTERNET"/>

界面如下:

 

示例:

public class MainActivity extends Activity {
  private EditText imagepath;
  private ImageView imageView;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    imagepath = (EditText) this.findViewById(R.id.imagepath);
    imageView = (ImageView) this.findViewById(R.id.imageView);
    Button button = (Button) this.findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
        String path = imagepath.getText().toString();
        try{
          byte[] data = ImageService.getImage(path);//獲取圖片數(shù)據(jù)
          if(data!=null){
            //構(gòu)建位圖對(duì)象
            Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
            imageView.setImageBitmap(bitmap);//顯示圖片
          }else{
            Toast.makeText(getApplicationContext(), R.string.error, 1).show();
          }
        }catch (Exception e) {
          Toast.makeText(getApplicationContext(), R.string.error, 1).show();
        }
      }
    });
  }
}

public class ImageService {
  /**
   * 獲取圖片
   * @param path 網(wǎng)絡(luò)圖片路徑
   * @return 圖片的字節(jié)數(shù)據(jù)
   */
  public static byte[] getImage(String path) throws Exception{
    URL url = new URL(path);
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    //設(shè)置超時(shí)時(shí)間
    conn.setConnectTimeout(5000);
    conn.setRequestMethod("GET");
    if(conn.getResponseCode()==200){
      InputStream inStream = conn.getInputStream();
      byte[] data = StreamTool.read(inStream);
      return data;
    }
    return null;
  }
}

public class StreamTool {
  /**
   * 讀取輸入流數(shù)據(jù)
   * @param inStream
   * @return
   */
  public static byte[] read(InputStream inStream) throws Exception{
    ByteArrayOutputStream outStream = new ByteArrayOutputStream();
    byte[] buffer = new byte[1024];
    int len = 0;
    while( (len = inStream.read(buffer)) != -1 ){
      outStream.write(buffer, 0, len);
    }
    inStream.close();
    return outStream.toByteArray();
  }
}

網(wǎng)頁(yè)源碼查看器

如果網(wǎng)頁(yè)的源碼超過屏幕的顯示位置的話,要求出現(xiàn)滾動(dòng)條.

<ScrollView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
>
<TextView
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:id="@+id/htmlsource"
 />
</ScrollView>

界面如下:

 

示例

@Override
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.main);
   pathText = (EditText) this.findViewById(R.id.path);
   htmlsource = (TextView) this.findViewById(R.id.htmlsource);
   Button button = (Button) this.findViewById(R.id.button);
   button.setOnClickListener(new View.OnClickListener() {
  public void onClick(View v) {
    String path = pathText.getText().toString();
    try{
      //獲取源碼
      String html = PageService.getHtml(path);
      htmlsource.setText(html);
    }catch (Exception e) {
      Toast.makeText(getApplicationContext(), R.string.error, 1).show();
    }
  }
});
}

public class PageService {
  /**
   * 獲取網(wǎng)頁(yè)源代碼
   * @param path 網(wǎng)頁(yè)路徑
   * @return
   */
  public static String getHtml(String path) throws Exception{
    URL url = new URL(path);
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setConnectTimeout(5000);
    conn.setRequestMethod("GET");
    if(conn.getResponseCode() == 200){
      byte[] data = StreamTool.read(conn.getInputStream());
      return new String(data, "UTF-8");
    }
    return null;
  }
}

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Android加載Gif動(dòng)畫實(shí)現(xiàn)代碼

    Android加載Gif動(dòng)畫實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了Android加載Gif動(dòng)畫實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • OpenGL ES渲染管線概述(一)

    OpenGL ES渲染管線概述(一)

    這篇文章主要為大家詳細(xì)介紹了OpenGL ES渲染管線的簡(jiǎn)單概述,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • android中圖形圖像處理之drawable用法分析

    android中圖形圖像處理之drawable用法分析

    這篇文章主要介紹了android中圖形圖像處理之drawable用法,較為詳細(xì)的分析了Android中繪圖所涉及的各種常用技巧與方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • Android自定義控件之圓形進(jìn)度條動(dòng)畫

    Android自定義控件之圓形進(jìn)度條動(dòng)畫

    這篇文章主要為大家詳細(xì)介紹了Android自定義控件之圓形進(jìn)度條動(dòng)畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • Kotlin Suspend掛起函數(shù)的使用詳解

    Kotlin Suspend掛起函數(shù)的使用詳解

    這里介紹 Kotlin Suspend 掛起函數(shù)的使用。掛起(suspend)函數(shù)是所有協(xié)程的核心。 掛起函數(shù)可以執(zhí)行長(zhǎng)時(shí)間運(yùn)行的操作并等待它完成而不會(huì)阻塞主線程。Kotlin 的 suspend 關(guān)鍵字可以幫助我們消除回調(diào),用同步的寫法寫異步
    2023-02-02
  • Android實(shí)現(xiàn)旋轉(zhuǎn)動(dòng)畫

    Android實(shí)現(xiàn)旋轉(zhuǎn)動(dòng)畫

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)旋轉(zhuǎn)動(dòng)畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • BroadcastReceiver動(dòng)態(tài)注冊(cè)案例詳解

    BroadcastReceiver動(dòng)態(tài)注冊(cè)案例詳解

    這篇文章主要為大家詳細(xì)介紹了BroadcastReceiver動(dòng)態(tài)注冊(cè)案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Android實(shí)現(xiàn)調(diào)用攝像頭進(jìn)行拍照功能

    Android實(shí)現(xiàn)調(diào)用攝像頭進(jìn)行拍照功能

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)調(diào)用攝像頭進(jìn)行拍照功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Android ScrollView只能添加一個(gè)子控件問題解決方法

    Android ScrollView只能添加一個(gè)子控件問題解決方法

    這篇文章主要介紹了Android ScrollView只能添加一個(gè)子控件問題解決方法,涉及Android界面布局的相關(guān)技巧,需要的朋友可以參考下
    2016-02-02
  • Android開發(fā)中通過手機(jī)號(hào)+短信驗(yàn)證碼登錄的實(shí)例代碼

    Android開發(fā)中通過手機(jī)號(hào)+短信驗(yàn)證碼登錄的實(shí)例代碼

    最近在開發(fā)一個(gè)android的項(xiàng)目,需要通過獲取手機(jī)驗(yàn)證碼來(lái)完成登錄功能,接下來(lái)通過實(shí)例代碼給大家分享手機(jī)號(hào)+短信驗(yàn)證碼登錄的實(shí)現(xiàn)方法,需要的的朋友參考下吧
    2017-05-05

最新評(píng)論