導航:首頁 > 操作系統 > android讀取網路文件

android讀取網路文件

發布時間:2022-10-03 02:53:14

android裡面怎麼無法讀取本地文件啊

new FileInputStream(path) 是文件夾路徑 如果對的話 可能許可權問題 再就是如果是sdcard上的而用這個 若是程序的(raw文件夾)要用 openFileInput(name)

⑵ Android中,在讀取網路圖片json數據時,如何將多個圖片放到ImageView總,並循環顯示出不同的圖片呢

把多張圖片的路徑存儲到數組或集合中,用一個子線程式控制制要顯示的圖片編號,用handler機制通知更新imageview的圖片

⑶ android 如何獲得網路文件大小

public long getFileSize(String urlString) throws IOException,Exception{
long lenght = 0;
String url = UrlEncode(urlString, "UTF-8");
//URL mUrl = new URL(urlString);
URL mUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) mUrl.openConnection();
conn.setConnectTimeout(5*1000);
conn.setRequestMethod("GET");
conn .setRequestProperty("Accept-Encoding", "identity");
conn.setRequestProperty("Referer", url);
//conn.setRequestProperty("Referer", urlString);
conn.setRequestProperty("Charset", "UTF-8");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.connect();

int responseCode = conn.getResponseCode();
// 判斷請求是否成功處理
if (responseCode == HttpStatus.SC_OK) {
lenght = conn.getContentLength();
}

return lenght;
}

⑷ 安卓開發 如何獲取網路中的圖片

用自帶的HttpClient,下面是我自己的庫裡面取出來的一個方法,我是非同步ajax調用的,你要是自己用的話,把那些非同步回調的去掉就行了。
url傳入圖片地址,outputFile是輸出的文件對象,也就是說,要你先指定保存的文件位置。
只要沒限制外鏈的圖片文件應該都沒問題。
/**

* 下載文件

* @param url

* @param outPut

* @param listener

* @throws AjaxException

*/

public static Responses downLoad(String url, AjaxParameters params,File outputFile, TransmitProgressLitener uploadListener) throws AjaxException{

if(params.size()>0){

url = url + "?" + Utils.encodeUrl(params);

}

Utils.amLog(url);

//httpGet連接對象

HttpGet httpRequest = new HttpGet(url);

//取得HttpClient 對象

//HttpClient httpclient = new DefaultHttpClient();

HttpClient httpclient = getNewHttpClient();

InputStream is = null;

OutputStream os= null;

try {

//請求httpClient ,取得HttpRestponse

HttpResponse httpResponse = httpclient.execute(httpRequest);

if(httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK){

//取得相關信息 取得HttpEntiy

HttpEntity httpEntity = httpResponse.getEntity();

//獲得一個輸入流

is = httpEntity.getContent();

os = new FileOutputStream(outputFile,true);

long downloaded = 0;

byte[] buffer=new byte[IO_CACHE_SIZE];

while(true){

int count=is.read(buffer);

if(count==-1){

break;

}

os.write(buffer, 0, count);

if(null!=uploadListener){

downloaded +=count;

uploadListener.updateProgress(downloaded, 0);

}

}

}

return new Responses("download suc",((DefaultHttpClient)httpclient).getCookieStore(),((DefaultHttpClient)httpclient).getCookieSpecs());

} catch (ClientProtocolException e) {

// TODO Auto-generated catch block

e.printStackTrace();

throw new AjaxException(e);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

throw new AjaxException(e);

} finally{

if(null!=is){

try {

is.close();

} catch (IOException e) {

throw new AjaxException(e);

}

}

if(null!=os){

try {

os.close();

} catch (IOException e) {

throw new AjaxException(e);

}

}

}

}

⑸ android有哪幾種方式進行資料庫訪問

Android為數據存儲提供了多種方式,分別有如下幾種:
文件
SharedPreferences
SQLite資料庫
內容提供者(Content provider)
網路

使用文件進行數據存儲
首先給大家介紹使用文件如何對數據進行存儲,Activity提供了openFileOutput()方法可以用於把數據輸出到文件中,具體的實現過程與在J2SE環境中保存數據到文件中是一樣的。
復制代碼 代碼如下:

public class FileActivity extends Activity {
@Override public void onCreate(Bundle savedInstanceState) {
...
FileOutputStream outStream = this.openFileOutput("csdnt.txt", Context.MODE_PRIVATE);
outStream.write("CSDN".getBytes());
outStream.close();
}
}

openFileOutput()方法的第一參數用於指定文件名稱,不能包含路徑分隔符「/」 ,如果文件不存在,Android 會自動創建它。創建的文件保存在/data/data/<package name>/files目錄,如: /data/data/cn.csdn.action/files/csdn.txt ,通過點擊Eclipse菜單「Window」-「Show View」-「Other」,在對話窗口中展開android文件夾,選擇下面的File Explorer視圖,然後在File Explorer視圖中展開/data/data/<package name>/files目錄就可以看到該文件。
openFileOutput()方法的第二參數用於指定操作模式,有四種模式,分別為: Context.MODE_PRIVATE = 0
Context.MODE_APPEND = 32768
Context.MODE_WORLD_READABLE = 1
Context.MODE_WORLD_WRITEABLE = 2

Context.MODE_PRIVATE:為默認操作模式,代表該文件是私有數據,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原文件的內容,如果想把新寫入的內容追加到原文件中。可以使用Context.MODE_APPEND
Context.MODE_APPEND:模式會檢查文件是否存在,存在就往文件追加內容,否則就創建新文件。
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用來控制其他應用是否有許可權讀寫該文件。
MODE_WORLD_READABLE:表示當前文件可以被其他應用讀取;MODE_WORLD_WRITEABLE:表示當前文件可以被其他應用寫入。
如果希望文件被其他應用讀和寫,可以傳入:
openFileOutput("csdn.txt", Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);

android有一套自己的安全模型,當應用程序(.apk)在安裝時系統就會分配給他一個userid,當該應用要去訪問其他資源比如文件的時候,就需要userid匹配。默認情況下,任何應用創建的文件,sharedpreferences,資料庫都應該是私有的(位於/data/data/<package name>/files),其他程序無法訪問。除非在創建時指定了Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE ,只有這樣其他程序才能正確訪問。

讀取文件內容
如果要打開存放在/data/data/<package name>/files目錄應用私有的文件,可以使用Activity提供openFileInput()方法。
FileInputStream inStream = this.getContext().openFileInput("csdn.txt");
Log.i("FileTest", readInStream(inStream));
readInStream()的方法請看本頁下面備注。

或者直接使用文件的絕對路徑:
File file = new File("/data/data/cn.csdn.action/files/csdn.txt");
FileInputStream inStream = new FileInputStream(file);
Log.i("FileTest", readInStream(inStream));
注意:上面文件路徑中的「cn.csdn.action」為應用所在包,當你在編寫代碼時應替換為你自己應用使用的包。
對於私有文件只能被創建該文件的應用訪問,如果希望文件能被其他應用讀和寫,可以在創建文件時,指定Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE許可權。

Activity還提供了getCacheDir()和getFilesDir()方法:
getCacheDir()方法用於獲取/data/data/<package name>/cache目錄
getFilesDir()方法用於獲取/data/data/<package name>/files目錄

⑹ android 怎麼讀取區域網共享文件

Android手機可用力卓文件、ES文件管理器等,iPhone可以用ezshare、oplayer.

⑺ 如何對Android設備進行網路抓包

工具/原料

Fiddler
Android設備
方法/步驟

啟動Fiddler,打開菜單欄中的 Tools > Fiddler Options,打開「Fiddler Options」對話框。

在Fiddler Options」對話框切換到「Connections」選項卡,然後勾選「Allow romote computers to connect」後面的復選框,然後點擊「OK」按鈕。

在本機命令行輸入:ipconfig,找到本機的ip地址。

打開android設備的「設置」->「WLAN」,找到你要連接的網路,在上面長按,然後選擇「修改網路」,彈出網路設置對話框,然後勾選「顯示高級選項」。

在「代理」後面的輸入框選擇「手動」,在「代理伺服器主機名」後面的輸入框輸入電腦的ip地址,在「代理伺服器埠」後面的輸入框輸入8888,然後點擊「保存」按鈕。

然後啟動android設備中的瀏覽器,訪問網路的首頁,在fiddler中可以看到完成的請求和響應數據。

⑻ 如何用安卓文件系統讀寫數據

  經過ARM板-RK3288和小米手機的測試。親測可以使用。

       博客中寫的欠缺的地方,無所謂,直接去看代碼,裡面的注釋很詳細。程序員看代碼就行了,每個函數全部封裝好了,廢話不多話。博客很長,大家慢慢看,看完一勞永逸,以後直接調我的函數就行了,但是講的很詳細,全部都是對比的來實現,方便大家的閱讀。

總體:大家依據直接餓的需求去看

      一、先大體的介紹一下理論部分,這里還是很重要的。

      二、常見的存儲數據的方式

       三、IO 文件流的讀取方式

       四、sharedPreference 存儲

       五、SQLite的存儲方式

       六、assets的存儲方式 

       七、res的存儲方式

       八、raw的存儲方式

       一、先大體的介紹一下理論部分,這里還是很重要的。

      安卓存儲文件、數據的地方: RAM、ROM、內存(內部存儲器)、APP程序裡面(Assets,raw,res),SD卡(早期的安卓的可以插卡,現在的不支持了,但是有些 arm板 嵌入式方向的還是帶卡槽的),總體上來說就是這些了,網路。

      接下來再細分:

       1、RAM、ROM 這些東西我們就別碰了,不然一大堆問題,Environment.getRootDirectory()  需要獲取root許可權,不合適

      2、內存和SD卡  大家得理解  Environment.getExternalStorageState()  代表的是什麼意思,不是插卡的SD卡,而是說你買了開發板、手機,廠家送你的存儲地方(直接你得讓他送你哈)。  這部分作為主要的存儲路徑,小數據和大數據都適用。

      3、SD卡,黑色那張卡,老古董,現在手機都沒有了,不建議大家使用,非要去使用,我也寫了相關的代碼(根據機型,不通用,切記,不能用不能怪我,這個只提供思路)。

     4、網路,請求自己的伺服器,讀取數據,URI的方式,httpClient    post 和 get 兩種請求數據的方式

      存儲的地方就這么多了。

     二、常見的存儲數據的方式

      1、sharedPreference,  將數據保存為 xml 的格式,

      2、資料庫  將SQLite的方式

      3、contentprovider  APP之間交互數據的方式。(這里不講,沒有用過,沒有發言權)

      4、文件的讀取(IO流) 和 Java的操作類似。

      5、Android內部的存儲 assets,res, raw,  三者的區別

           assets 和 raw 是不會隨著 APP進行編譯, res下的文件會隨著app一起編譯,每次 shift+alt+x 都要等好久

           assets目錄下可以創建子文件夾     raw 不可以

 

              閱讀全文

              與android讀取網路文件相關的資料

              熱點內容
              程序員隱藏游戲彩蛋 瀏覽:245
              apache載入php7 瀏覽:328
              天貓程序員有什麼用 瀏覽:553
              第三百章挺近劉濤 瀏覽:236
              先收母親收女兒的小說 瀏覽:35
              無牙仔電影叫什麼名字 瀏覽:505
              樹莓派python爬蟲 瀏覽:67
              穿越長征之紅星戰將 瀏覽:264
              80台伺服器要用什麼防火牆 瀏覽:230
              安卓應用是什麼進制 瀏覽:77
              穿越民國的二道販子 瀏覽:357
              伺服器出現狀況怎麼辦 瀏覽:408
              有一本小說女主叫姜什麼 瀏覽:866
              pdf轉換器軟體 瀏覽:640
              命令提示符的雙引號 瀏覽:186
              命令行運行編譯器 瀏覽:548
              linux升級php7 瀏覽:123
              love法國原版電影 瀏覽:62
              什麼app不用驗證手機登錄 瀏覽:481
              python抓包http 瀏覽:893