進程(一) 1.1 Android中非同步處理大殺器——AsyncTask

進程和線程,打算在後面一節會細說下,這裡先簡單那的介紹他們在android中是怎麼回事。在android,當一個應用啟動的時候,linux核心會啟動一個進程和一個單線程(就是我們所說的主線程),主線程處理與UI相關的事情,如: 繪圖事件,觸摸,點擊事件等;但是有些時候我們需要做一些操作會阻塞主線程,如:網路下載,檔案的讀取,寫入等,這樣造成使用者體驗不好,容易產生ANR的錯誤。所以一般對與比較耗時的操作,一般會另外開一個線程,在這個線程裡進行才操作;而google為了方便開發人員處理非同步任務,

進程(一) 1.2 Android中非同步處理大殺器——Handler(1)

Android中處理非同步第一選擇和最佳選擇,就是AsynTask這個類,因為他使用起來最方便,安全。再介紹另外一個在開發中用的很多的非同步大殺器,用於處理非同步訊息的,處理一些耗時操作,處理後台啟動並執行程式並且要更新ui的情況,他就是Handler。Handler主要接受子線程發送的資料, 並用此資料配合主線程更新UI.。當應用程式操作應用程式的時候,出現一些比較耗時的操作,譬如 從網上下載資料,讀取本地較大的檔案,這時不能把這些操作

進程(一) 1.3 Android中非同步處理大殺器——Handler(2)

這裡介紹下handler中除了sendMessage外還有post的方法發送和處理訊息;介紹幾個方法:final boolean post(Runnable r)final boolean postAtFrontOfQueue(Runnable r)final boolean postAtTime(Runnable r, Object token, long uptimeMillis)final boolean postAtTime(Runnable r, long

Android的資料存放區之一——SharedPreferences

下面將介紹下Android的資料存放區,Android提供了5種方式儲存資料:1.SharedPreferences儲存資料; 2.檔案儲存體資料; 3.SQLite資料庫儲存資料; 4.使用ContentProvider儲存資料;5. 網路儲存資料;今天我先介紹下最簡單的SharedPreferences儲存資料;SharedPreferences是Android平台上一個輕量級的儲存類,主要是儲存一些常用的配置比如視窗狀態,一般在Activity中

進程(一) 1.6 Android中非同步處理大殺器——Handler,HandlerThread

不知大家是否發現,Handler中有一個建構函式式傳入一個訊息迴圈的對象Looper,而在1.2,1.3中說過,如果在一般的子線程中是不能建立handler對象的,因為自身沒有帶Looper對象,而主線程中是內建有這個對象的,從主線程拿出這個對象的;所以Andriod為了方便,不要開發人員自己建立訊息迴圈,所以提供了令外一個類HandlerThread。HandlerThread繼承與Thread,所以本身就是一個線程。他類似於建立了一個含有Looper對象的線程類,而Looper可以用於建立H

android的開發注意事項之更好的使用Handler,處理線程

在Android開發中經常會使用到線程,一想到線程,一般都會想到new Thread(){...}.start();這樣的方式。這樣如果在一個Activity中多次調用上面的代碼,那麼將建立多個匿名線程,如果這些線程的沒有被銷毀,那肯定會影響效能呢。這個時候我麼就想到了android提供的一個非同步處理線程的類HandlerThread。一般Handler的用法Handler handler = new

2 solutions for google map app in android

solution 1: use google map javascript api + webview compenent優點:1. 所有對地圖的操作都寫在html page的javascript代碼裡,android side的app只是使用webview控制項來當成一個web browser來顯示。由於android app的java代碼可以調用webview裡的html page裡的javascript方法(javascript方法也可以調用android

在android mapview控制項裡畫簡單導航路線的方法

基本原理是: send http request to google direction api url (http://maps.google.com/maps/api/directions/json?xxx) parse the response, and then draw it.google direction api user

android google map bubble box

最好的solution:https://github.com/jgilfelt/android-mapviewballoons其他的solutions:http://www.anddev.org/map-tutorials-f18/nice-bubble-in-android-maps-t52751.htmlhttps://github.com/commonsguy/cw-advandroid/tree/master/Maps/EvenNooerYawk/ (/maps/evennooeryaw

Ubuntu下安裝Android開發環境

1.首先安裝下Eclipsehttp://www.eclipse.org/downloads/預設有很多種壓縮好的包,我們只需要下載Eclipse IDE for Java Developers注意選擇系統為linux還要選擇正確的版本,分32和64位的版本。eclipse-java-helios-SR2-linux-gtk-x86_64.tar.gz安裝Eclipse:sudo tar zxvf eclipse-java-helios-SR2-linux-gtk-x86_64.tar.gz -

Android中SharedPreferences和Properties的一些組合使用

最近空閑下來,公司的整個產品用戶端基本已經進入穩定的商業化運行。後期要處理的是跟夥伴的版本控制。比如A,B,C三個夥伴,在應用上,整個模型基本是不變的,可能只是改變下幾個傳遞參數或是應用本身的設定參數;當然,這個還是比較簡單,可能說你每個應用打包前修改下某個寫死的商戶版本號碼。後來又提出一個比較蛋疼的需求,就是我們應用的首頁或是某個介面中的顯示順序要能做到控制。這就比較坑爹了,理論上來說列表顯示控制其實也是比較簡單的,即我所有的資訊都是從服務端擷取,完成對於順序等等的控制,完全是可以放在服務端完

Ubuntu 11.10下 Android開發環境搭建

前提:ubuntu

Android中自訂的載入對話方塊和載入條

先分享一個常用的轉動形式載入對話方塊。這個是很早前一個應用,一哥們寫的控制項。後來發現聯想的應用中基本所用應用載入框都是這個。(開原始碼沒著作權一說吧)控制項比較簡單,分享下思路:1.首先這是一個自訂的dialog,重寫了dialog,系統的progressdialog也是繼承了dialog。/** * @author Nono * */public class CustomProgressBarDialog extends Dialog {private LayoutInflater

Android移動開發中通用技術整理

悲劇的住院了,閑來無聊。整理下以前做的幾個項目的寫下的筆記。因為項目的通用性,以前老大給的建議是能做成類似於封裝完的jar包。因為沒什麼時間,還有老大太高估我了 = =。在此只是列一下幾個通用技術通用技術一:App進入後的網路檢測。代碼很簡單import android.content.Context;import android.net.ConnectivityManager;import android.net.NetworkInfo;/** * 網路監測工具 * * @author

Android類似於滾動的通知欄實現

控制項類似於網頁上的滾動播報欄圖片1:圖片2:如,實現滾動欄裡多條訊息的自切換;點擊後擷取具體內容。簡單是實現代碼:public class PublicNoticeView extends LinearLayout {private static final String TAG = "LILITH"; private Context mContext;private ViewFlipper viewFlipper;private View scrollTitleView;private

Android關於Activity轉場效果的實現加強

早前做完一個應用後期需要加入點效果化。相對於iPhone上應用的效果,最為經典的介面切換視覺效果就是,放大進入和縮小退出。還好Android也早以有了這樣對應的動畫檔案。並且如大家所知的,提供了overridePendingTransition()這個最簡單實現的方法api.------------------------但是如網上所說的:這裡需要特別說明的是,關於overridePendingTransition這個函數,有兩點需要主意:1.它必需緊挨著startActivity()或者fin

Android使用GPS定位

1. 代碼package android.test;import java.io.IOException;import java.util.List;import java.util.Locale;import android.app.Activity;import android.content.Context;import android.location.Address;import android.location.Criteria;import

Android發送Email

package android.test;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;public class Main extends Activity {private Button m_sendEmailBtn; /** Called when the

Android應用程式啟動畫面

1. AndroidManifest.xml<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="android.test" android:versionCode="1" android:versionName="1.0"> <uses-sdk

Android發出HTTP請求,解析返回的JSON

1. php中echo json_encode($data); 2. Android中package android.test;import java.io.BufferedReader;import java.io.InputStreamReader;import org.apache.http.HttpResponse;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;

總頁數: 2771 1 .... 877 878 879 880 881 .... 2771 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.