android載入
Ⅰ 如何在android安卓添加或載入設備驅動
驅動裝到手機上,把模塊連接的時候根據提示操作就行了!
就像iPhone的App Store一樣,Android也有自己的「Market」,目前Market上每天都有新增加的軟體和游戲,並且現階段出現的所有應用軟體和程序都是免費的。以下是Market使用教程:
1.打開G1的主菜單,找到並開啟Market軟體商店。在Macket主菜單中:
AndroidApplications:經過Google認可的Android軟體。
AndroidGames:經過Google認可的Android游戲。
AndroidSearch:搜索Market軟體商店裡的軟體。
AndroidMy downloads:查看你從Market下載好的軟體。
Android主菜單上面可以滾動的圖標是Google官方隨機推薦的一些第三方軟體。
2. 先點擊「Applications」後,會出現所有的第三方軟體分類,除了第一個All applications是指查看所有的第三方軟體之外,其他均為細分類。隨便點擊一個分類,則會出現該分類下的所有對應軟體,默認情況下By popularity是指按人氣由高到低的順序顯示該分類下的軟體,By date則是按照時間的先後順序來顯示該分類下的軟體。
3. 點擊一個軟體,你將會看到該軟體的詳細功能描述、網友評論、作者信息。如果你想安裝此軟體,可以直接點擊「Install」,那麼此時屏幕中將會顯示該軟體可能會涉及到的G1相關功能、個人隱私信息等提示,沒有問題的話,你就可以直接點擊「OK」,來下載並安裝此軟體了。
4. 如果你不想安裝此軟體,可以點擊「Cancel」來取消,如果你此時想進行更多操作,請點擊屏幕下方的 MENU按鈕,在屏幕下方出現的白色窗口裡:
AndroidMarket home:回到Market首頁
AndroidSearch:開始搜索Market里的軟體
AndroidMy downloads:查看已經下載好的軟體
AndroidHelp:上網查看Market的相關使用幫助
AndroidSecurity:查看該軟體所涉及的安全信息
AndroidFlag content:標記軟體內容
Search——軟體搜索篇
5. 如果你點擊Search,畫面頂部將會出現搜索欄,此時你可以隨意輸入你喜歡的軟體名稱,然後點擊Search即可。
My downloads——已下載軟體查看及卸載
6. 如果你點擊My downloads,此時將會出現的軟體列表即為你從Market上下載並安裝的軟體。若你想寫在寫在某個軟體,只需要找到並點擊這個軟體,然後在點擊「Uninstall」即可完成卸載工作!
Ⅱ 求教如何判斷android頁面載入完畢
您好,我在別的論壇也看到了您的問題,很高興為您解答:
你需要做一個標記或者其他的判斷
比如isFrist,判斷是否是第一次載入,開始時isFrist=true,第一次載入後isFrist=false;
@Override
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
super.onWindowFocusChanged(hasFocus);
if (hasFocus&&isFrist) {
//do something
isFrist = false;
}
}
希望以上信息可以幫到您!
Ⅲ android怎麼載入html
android載入html
主要有2種方案:
方案一:
啟動第三方瀏覽器或者安卓內置的瀏覽器進行載入先生html文件。
方案二:
使用android 自帶的webview控制項進行載入html文件或者網頁。
不常用方案有1種:
使用android控制項TextView進行載入html文件。
主要原理:
通過讀取html文件裡面的標簽進行解析相關的元素從而通過瀏覽器,或者android自帶的控制項進行顯示,其中webview控制項本質上就是一個瀏覽器,TextView顯示html內容就是通過解析標簽,元素通過內置方法轉化成相應帶有屬性的文本信息然後顯示到界面上。
詳細解決步奏:
方案一:
java">Uriuri=Uri.parse("http://www.XXXX.com");//要鏈接的地址或者html
Intentintent=newIntent(Intent.ACTION_VIEW,uri);
startActivity(intent);
缺點如果android中沒有瀏覽器,則無法啟動顯示相關內容。
方案二:
webview=(WebView)findViewById(R.id.WebView01);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://www.xxxx.com");//要鏈接的地址或者html
缺點:目前沒有什麼缺點,比其他2種好,天生為載入html文件而出生的
方案三:
不常用的方法,藉助函數Html.fromHtml()來解析html內容,並且進行顯示。
TextViewtext1=(TextView)findViewById(R.id.TextView02);
text1.setText(Html.fromHtml(「<fontsize='20'>網頁內容html</font>」));
缺點:載入速度慢於webview載入速度。
最後
推薦使用webview進行載入html內容,其特性優於其他2種載入方式
Ⅳ android動態載入view一個一個刷新怎麼實現
先看一下結構圖
可以看到ViewSwitcher和ViewFlipper都是繼承自ViewAnimator。
下面通過一個Demo了解一下ViewFlipper的用法
main.xml
Html代碼
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="htt p:/ /schemas.andro id.co m/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ViewFlipper
android:id="@+id/viewFlipper"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<include
android:id="@+id/layout01"
layout="@layout/layout01" />
<include
android:id="@+id/layout02"
layout="@layout/layout02" />
</ViewFlipper>
</LinearLayout>
layout01.xml
Html代碼
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="htt p:/ /schem as.andro id.c om/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:text="一個TextView"
android:textSize="40dip" />
</LinearLayout>
layout02.xml
Html代碼
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="htt p://schema s.andro id.c om/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="一個TextView + 一個ImageView"
android:textSize="20dip" />
</LinearLayout>
</LinearLayout>
ViewFlipperDemoActivity.java
Java代碼
package com.tianjf;
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.animation.AnimationUtils;
import android.widget.ViewFlipper;
public class ViewFlipperDemoActivity extends Activity implements
OnTouchListener {
private ViewFlipper viewFlipper;
// 左右滑動時手指按下的X坐標
private float touchDownX;
// 左右滑動時手指松開的X坐標
private float touchUpX;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
viewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);
viewFlipper.setOnTouchListener(this);
}
}
float XFrom = e1.getX();
float XTo = e2.getX();
float YFrom = e1.getY();
float YTo = e2.getY();
// 左右滑動的X軸幅度大於100,並且X軸方向的速度大於100
if (Math.abs(XFrom - XTo) > 100.0f && Math.abs(speedX) > 100.0f) {
// X軸幅度大於Y軸的幅度
if (Math.abs(XFrom - XTo) >= Math.abs(YFrom - YTo)) {
if (XFrom > XTo) {
// 下一個
mOnFlingListener.flingToNext();
} else {
// 上一個
mOnFlingListener.flingToPrevious();
}
}
} else {
return false;
}
return true;
}
public interface OnFlingListener {
void flingToNext();
void flingToPrevious();
}
}
MyViewFlipper.java
Java代碼
package com.tianjf;
import com.tianjf.MyGestureListener.OnFlingListener;
import android.content.Context;
import android.util.AttributeSet;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ViewFlipper;
public class MyViewFlipper extends ViewFlipper implements OnFlingListener {
private GestureDetector mGestureDetector = null;
private OnViewFlipperListener mOnViewFlipperListener = null;
public MyViewFlipper(Context context) {
super(context);
}
public MyViewFlipper(Context context, AttributeSet attrs) {
super(context, attrs);
}
public void setOnViewFlipperListener(OnViewFlipperListener mOnViewFlipperListener) {
this.mOnViewFlipperListener = mOnViewFlipperListener;
MyGestureListener myGestureListener = new MyGestureListener();
myGestureListener.setOnFlingListener(this);
mGestureDetector = new GestureDetector(myGestureListener);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
if (null != mGestureDetector) {
return mGestureDetector.onTouchEvent(ev);
} else {
return super.onInterceptTouchEvent(ev);
}
}
@Override
public void flingToNext() {
if (null != mOnViewFlipperListener) {
int childCnt = getChildCount();
if (childCnt == 2) {
removeViewAt(1);
}
addView(mOnViewFlipperListener.getNextView(), 0);
if (0 != childCnt) {
setInAnimation(getContext(), R.anim.left_slip_in);
setOutAnimation(getContext(), R.anim.left_slip_out);
setDisplayedChild(0);
}
}
}
@Override
public void flingToPrevious() {
if (null != mOnViewFlipperListener) {
int childCnt = getChildCount();
if (childCnt == 2) {
removeViewAt(1);
}
addView(mOnViewFlipperListener.getPreviousView(), 0);
if (0 != childCnt) {
setInAnimation(getContext(), R.anim.right_slip_in);
setOutAnimation(getContext(), R.anim.right_slip_out);
setDisplayedChild(0);
}
}
}
public interface OnViewFlipperListener {
View getNextView();
View getPreviousView();
}
}
ViewFlipperDemoActivity.java
Java代碼
package com.tianjf;
import com.tianjf.MyViewFlipper.OnViewFlipperListener;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ScrollView;
import android.widget.TextView;
public class ViewFlipperDemoActivity extends Activity implements OnViewFlipperListener {
private MyViewFlipper myViewFlipper;
private int currentNumber;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
currentNumber = 1;
myViewFlipper = (MyViewFlipper) findViewById(R.id.myViewFlipper);
myViewFlipper.setOnViewFlipperListener(this);
myViewFlipper.addView(creatView(currentNumber));
}
@Override
public View getNextView() {
currentNumber = currentNumber == 10 ? 1 : currentNumber + 1;
return creatView(currentNumber);
}
@Override
public View getPreviousView() {
currentNumber = currentNumber == 1 ? 10 : currentNumber - 1;
return creatView(currentNumber);
}
private View creatView(int currentNumber) {
LayoutInflater layoutInflater = LayoutInflater.from(this);
ScrollView resultView = (ScrollView) layoutInflater.inflate(R.layout.flipper_view, null);
((TextView) resultView.findViewById(R.id.textView)).setText(currentNumber + "");
return resultView;
}
}
好了,代碼上完了,開始講解!
ViewFilpper的showPrevious()方法和showNext()方法是用來顯示已經在布局文件中定義好了的View,現在我們沒有在布局文件中為ViewFlipper添加View,那麼showPrevious()方法和showNext()方法就不能用了。但是我們怎麼實現滑動來切換View呢?用什麼方法呢?
這時候,我們就要自定義一個MyViewFlipper來監聽滑動事件,並做切換視圖的處理。
你可以讓MyViewFlipper實現OnTouchListener介面,然後實現onTouch方法,然後根據MotionEvent.ACTION_DOWN和MotionEvent.ACTION_UP的坐標判斷是不是滑動事件,就像ImageSwitcher中講解的那樣(htt p://bl og.csd n.n et/tianjf0514/article/details/7556487)
除了自己判斷是不是滑動事件,那麼Android有沒有直接提供哪個方法作為滑動事件的回調函數呢?答案是:提供了。OnGestureListener中的onFling方法就是滑動事件的回調函數。這時候你也許會毫不猶豫的讓MyViewFlipper實現OnGestureListener介面,並復寫onFling方法。這樣做當然可以,不過實現OnGestureListener介面不僅僅要復寫onFling方法,還要復寫其他的方法(onDown()、onShowPress()、onSingleTapUp()、onScroll()、onLongPress()),但是這些回調函數我們不需要,這就造成了垃圾代碼。
為了避免垃圾代碼,Android提供了一個類SimpleOnGestureListener已經實現了OnGestureListener介面和OnDoubleTapListener介面,並復寫了所有方法。那麼我們只要新建一個自己的MyGestureListener.java來繼承SimpleOnGestureListener,並有選擇性的復寫需要的方法(我們在此只復寫onFling方法)。
這時,我們就自定義了一個手勢類,並且這個手勢類會監聽滑動事件來做一些處理。但是我們怎麼利用這個手勢類呢?怎麼利用到MyViewFlipper類中去呢?
關於onFling方法,有一點要注意:不是每個View都能有onFling回調函數,一開始,我的flipper_view.xml布局文件最外層是一個LinearLayout,死活都走不到onFling方法,後來在外層又套了一個ScrollView,就能正常走到OnFling方法裡面了。
可以看到flingToNext方法和flingToPrevious方法裡面會判斷childCnt,如果為2,就removeViewAt(1);,然後再addView(mOnViewFlipperListener.getNextView(), 0);。這就要回顧一下ImageSwitcher的原理,ViewFlipper的原理和ImageSwitcher一樣,有且僅有2個子View,滑動時候就在這兩個子View上來回切換。index為0的就是當前看到的,index為1的就是看不見的。上面代碼的意思就是:當滑動時,必然要新添加一個View,那麼子View的個數有可能大於2,隨意要先判斷一下如果childCnt == 2,那麼就把index == 1的那個View(即看不見的View)給Remove調,然後把新添加的View添加到index == 0處。這樣可以減少內存消耗。
Ⅳ Android提前載入一個Activity
請求網路,載入網頁,
本身都需要耗時的,
你在前一個Activity
去載入後一個Activity的東西
這樣設計就太合理,就如樓上所說,
你可以都寫在一個Activity里,用閃圖蓋住WebView
Ⅵ android開發中怎麼添加activity的載入模式
在您需要的地方調用即可
private
mediaplayer
mmediaplayer;
private
void
playlocalfile()
{
mmediaplayer
=
mediaplayer.create(this,
r.raw.in_call_alarm);
//播放工程res目錄下的raw目錄中的音樂文件in_call_alarm
try
{
mmediaplayer.prepare();
}
catch
(illegalstateexception
e)
{
}
catch
(ioexception
e)
{
}
mmediaplayer.start();
headsetplay.setenabled(false);
mmediaplayer.setoncompletionlistener(new
oncompletionlistener()
{
public
void
oncompletion(mediaplayer
mp)
{
//播完了接著播或者關閉mmediaplayer
});
}
Ⅶ android 怎麼實現載入外部的布局
不能用layout,因為ID都是在R.id中查詢的,
要麼用代碼創建布局
要麼用WebView來載入一個html界面
像你這種需求,通常都是用webview來載入界面的,webview中,js可以與activity交互的
Ⅷ android是怎樣載入動畫的
Android中Dialog的示例代碼如下:
1.創建對象框
AlertDialog.Builder builder = new Builder(context);
builder.setTitle("請輸入"); //設置對話框標題
builder.setIcon(android.R.drawable.btn_star); //設置對話框標題前的圖標
2.創建EditText輸入框
final EditText edit = new EditText(context);
3.將輸入框賦值給Dialog,並增加確定取消按鍵
builder.setView(edit);
builder.setPositiveButton("確認", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "你輸入的是: " + edit.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "你點了取消", Toast.LENGTH_SHORT).show();
}
});
4.設置常用api,並show彈出
builder.setCancelable(true); //設置按鈕是否可以按返回鍵取消,false則不可以取消
AlertDialog dialog = builder.create(); //創建對話框
dialog.setCanceledOnTouchOutside(true); //設置彈出框失去焦點是否隱藏,即點擊屏蔽其它地方是否隱藏
dialog.show();
Ⅸ android 中進入程序載入頁面怎麼做
界面載入過渡,通過是通過Handler 發送延遲消息來實現的。
具體實現代碼:
創建Handler 得到實例
Handler = new Handler();
發送延遲消息
Message msg = Message.obtain();
handler.sendMessageDelayed(msg,2000);
第一個參數表示的消息體,第二個參數表示延遲時間
在handlerMessage中隱藏載入進度即可
Ⅹ Android怎樣動態載入代碼技術
在開發Android App的過程當中,可能希望實現插件式軟體架構,將一部分代碼以另外一個APK的形式單獨發布,而在主程序中載入並執行這個APK中的代碼。 實現這個任務的一般方法是:// 載入類clsContext pluginContext = mainContext.createPackageContext(PLUGIN_PKG, Context.CONTEXT_IGNORE_SECURITY | Context.CONTEXT_INCLUDE_CODE);ClassLoader loader = pluginContext.getClassLoader();Class<?> cls = loader.loadClass(CLASS_NAME);// 通過反射技術,調用cls中的方法,下面是一個示例,實際代碼因情況而定Object obj = cls.newInstance();Method method = cls.getDeclaredMethod("someMethod");method.invoke(obj); 但是,這個方法在Android 4.1及之後的系統中存在一些問題:對於收費應用,Google Play會將其安裝在一個加密目錄之下(具體就是/data/app-asec),而不是一個普通目錄之下(具體就是/data/app);安裝在加密目錄中的應用,我們是無法使用上述方法來載入並執行代碼的;而實際情況是,我們經常就是依靠插件應用來收費的。 解決上述問題的一個方案是:將插件的二進制代碼拷貝到SD卡中,主程序從SD卡中載入並執行其代碼。 實現這個任務的具體方法是:Class<?> cls = null;try { // 嘗試第一種方法 cls = loadClass1(mainContext, pkg, entryCls);} catch (Exception e) { // 嘗試第二種方法 cls = loadClass2(mainContext, pkg, entryCls);}// 示例代碼Object obj = cls.newInstance();Method method = cls.getDeclaredMethod("someMethod");method.invoke(obj);// 第一種載入方法private Class<?> loadClass1(Context mainContext, String pkg, String entryCls) throws Exception { Context pluginContext = mainContext.createPackageContext(pkg, Context.CONTEXT_INCLUDE_CODE | Context.CONTEXT_IGNORE_SECURITY); ClassLoader loader = pluginContext.getClassLoader(); return loader.loadClass(entryCls); }//