當前位置:首頁 » 安卓系統 » android反射

android反射

發布時間: 2022-01-14 04:33:47

A. android怎樣利用反射跳轉某個fragment

package

com.zhy.zhy_fragments;

import

android.app.Fragment;
import

android.os.Bundle;
import

android.view.LayoutInflater;
import

android.view.View;
import

android.view.View.OnClickListener;
import

android.view.ViewGroup;
import

android.widget.Button;

public

class
FragmentOne extends

Fragment implements

OnClickListener
{
private

Button mBtn;

/**
*
設置按鈕點擊的回調
*
@author zhy
*
*/
public

interface
FOneBtnClickListener
{
void

onFOneBtnClick();
}

@Override
public

View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle
savedInstanceState)
{
View
view = inflater.inflate(R.layout.fragment_one, container, false);
mBtn
= (Button) view.findViewById(R.id.id_fragment_one_btn);
mBtn.setOnClickListener(this);
return

view;
}

/**
*

B. android.telephony.telephonymanager怎麼反射調用

TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
/**
* 返回電話狀態
*
* CALL_STATE_IDLE 無任何狀態時
* CALL_STATE_OFFHOOK 接起電話時
* CALL_STATE_RINGING 電話進來時
*/
tm.getCallState();
//返回當前移動終端的位置
CellLocation location=tm.getCellLocation();
//請求位置更新,如果更新將產生廣播,接收對象為注冊LISTEN_CELL_LOCATION的對象,需要的permission名稱為ACCESS_COARSE_LOCATION。
location.requestLocationUpdate();

C. android 怎麼用反射機制載入資源

一、反射的概念及在java中的類反射
反射主要是指程序可以訪問、檢測和修改它本身狀態或行為的一種能力。在計算機科學領域,反射是一類應用,它們能夠自描述和自控制。這類應用通過某種機制來實現對自己行為的描述和檢測,並能根據自身行為的狀態和結果,調整或修改應用所描述行為的狀態和相關的語義。
在Java中的反射機制,被稱為Reflection(大家看到這個單詞,第一個想法應該就是去開發文檔中搜一下了)。它允許運行中的Java程序對自身進行檢查,並能直接操作程序的內部屬性或方法。Reflection機制允許程序在正在執行的過程中,利用Reflection APIs取得任何已知名稱的類的內部信息,包括:package、 type parameters、 superclass、 implemented interfaces、 inner classes、 outer classes、 fields、 constructors、 methods、 modifiers等,並可以在執行的過程中,動態生成Instances、變更fields內容或喚起methods。
好,了解這些,那我們就知道了,我們可以利用反射機制在Java程序中,動態的去調用一些protected甚至是private的方法或類,這樣可以很大程度上滿足我們的一些比較特殊需求。你當然會問,反射機制在Android平台下有何用處呢?
我們在進行Android程序的開發時,為了方便調試程序,並快速定位程序的錯誤點,會從網上下載到對應版本的Android SDK的源碼(這里給大家提供一個2.3.3版本的下載鏈接)。你會發現很多類或方法中經常加上了「@hide」注釋標記,它的作用是使這個方法或類在生成SDK時不可見,那麼我們的程序可能無法編譯通過,而且在最終發布的時候,就可能存在一些問題。
那麼,對於這個問題,第一種方法就是自己去掉Android源碼中的"@hide"標記,然後重新編譯生成一個SDK。另一種方法就是使用Java反射機制了,可以利用這種反射機制訪問存在訪問許可權的方法或修改其域。
廢話半天,該入正題了,在進入正題之前,先給上一個反射測試類的代碼,該代碼中定義了我們需要進行反射的類,該類並沒有實際的用途,僅供做為測試類。提示:本文提供的代碼,並不是Android平台下的代碼,而是一個普通的Java程序,僅僅是對Java反射機制的Demo程序,所以大家不要放在Android下編譯啊,否則出現問題,別追究我的責任啦!
ReflectionTest.java
package crazypebble.reflectiontest;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.Serializable;

public class ReflectionTest extends Object implements ActionListener,Serializable{
// 成員變數
private int bInt;
public Integer bInteger = new Integer(4);
public String strB = "crazypebble";
private String strA;

// 構造函數
public ReflectionTest() {

}

protected ReflectionTest(int id, String name) {

}

// 成員方法
public int abc(int id, String name) {
System.out.println("crazypebble ---> " + id + "-" + name);
return 0;
}

protected static void edf() {

}

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub

}

}

D. 您好!我想問下android中隱藏的介面 用反射怎麼來實現謝謝啦 幫個忙

你這有問題啊,反射只能拿到方法,是需要你自己去實現onCapture
invoke(int[] byte)方法調用的,你都不知道哪裡調了他這個方法,怎麼可能拿到具體數據值

E. android 可以反射到另一個應用裡面的類么

一個app不可以直接訪問另一個app的類。如果非要實現進程間通信,可以通過aidl做。可以考慮採用jar包的方式,將app B 打成jar文件 導入到 app A 中 就可以實現了。在應用中可以反射到類似framework裡面的 diaolog activity這些類,是因為import了這些類,所以在這些包以jar的形式編譯到應用。相反,是因為以jar的形式編譯到了應用,才有了import。如果沒有jar,就import不了。

F. android 中是否合適使用反射機制,如果可以,應該用在哪些地方使用,要注意什麼問題,如果不合適,為什麼呢

當然適合。
父類中的私有變數和方法想在子類中訪問用反射就能實現。
比如默認dialog的確定和取消按鍵都會讓dialog消失,如果不想讓dialog消失,那麼用反射就能實現。
當然如果能通過重寫父類方法的地方就不用反射。

G. android 什麼是反射

-什麼是反射機制?

反射機制是在運行狀態中,對於任意一個類(Class),都能夠知道這個類的所有屬性和方法(Method);對於任意一個對象,都能夠調用它的任意一個方法和屬性;這種動態獲取的信息以及動態調用對象的方法的功能稱為java語言的反射機制。

-反射機制能做什麼?

主要功能:調用隱藏API,即標注了 @hide 的方法。

其他:

在運行時判斷任意一個對象所屬的類;

在運行時構造任意一個類的對象;

在運行時判斷任意一個類所具有的成員變數和方法;

在運行時調用任意一個對象的方法;

生成動態代理。

-注意事項?

Google之所以要將一些API隱藏(指加上@hide標記的public類、方法或常量)是有原因的。其中很大的原因就是Android系統本身還在不斷的進化發展中。從1.0、1.1到現在即將問世的Android2.3.4。這些隱藏的API本身可能是不穩定的,所以,使用隱藏API,意味著程序更差的兼容性。

如果要我給出建議的話,最好還是不要使用隱藏的API。不過有時為了實現Android應用某些特殊的功能或者效果,隱藏的API往往能發揮意想不到的作用。這些API具體能做些什麼事,我就不在這里舉例了。正好,如果你不知道隱藏API能做什麼的話,那麼還是盡早放棄使用它們吧……

引用內容自:

ke.xsoftlab.net/view/209.html

blog.sina.com.cn/s/blog_5da93c8f0101e1yj.html

H. 在Android中使用反射到底有多慢

第一個案例是紐約時報安卓客戶端。在NimbleDroid的幫助下,紐約時報的開發者發現Gson中的typeadapter使用了反射,增加了APP700毫秒的啟動時間,他們通過自行實現自定義的typeadapter解決了這一問題。第二個案例是大型圖片分享平台Photobucket

I. 身為android猿,反射何時用

藍手指模擬器怎麼用?可能大家對這個藍手指模擬器比較陌生,其實就是BlueStacks模擬器,下面綠茶小編教大家使用藍手指給力助手安裝藍手指模擬器方法,希望大家喜歡。 藍手指模擬器下載安裝使用圖文教程: 第一步、下載給力助手 第二步、給力助手的安裝: 1、下載完成,先進行解壓縮(使用WinZip、WinRAR等工具,沒有的話在360軟體管家 里找個免費版的,一鍵下載安裝即可)。解壓完成後先閱讀一下文件夾中的說明書,然後滑鼠左鍵雙擊「給力助手安裝程序.exe」如下圖圖標: 藍手指模擬器怎麼用 藍手指安卓模擬器下載安裝使用教程圖1 2、這時候給力助手會對您的系統做一次簡單檢測,如果發現系統中缺少安裝藍手指模擬器必須的插件,如Windows Installer 4.5;. .NET Framework 2.0 SP2 等,就會提示您安裝,按提示確認操作就行了,它會替您自動下載安裝。如果系統環境都已經達到安裝要求,我們可以在窗口點擊下一步繼續,如下圖: 藍手指模擬器怎麼用 藍手指安卓模擬器下載安裝使用教程圖2 3、確認安裝路徑,最好不要按照默認的去裝,假如你的電腦還有D、E等其他分區的話,就把路徑開頭的C改成D或E等,而不要直接去選某個盤,因為那樣很容易把軟體直接裝到某盤的根目錄下,看起來很凌亂,以後不好維護。此外,C盤是系統盤,要預留足夠多的運行空間,所以可以不裝其中的軟體盡量不往裡裝,除非那些必須在C盤下才能運行的軟體,比如BlueStacks模擬器。繼續看圖: 藍手指模擬器怎麼用 藍手指安卓模擬器下載安裝使用教程圖3 4、決定好路徑後還是滑鼠左鍵單擊下一步,然後再單擊安裝按鈕開始安裝

J. android 怎麼用反射獲取對象

通過類名獲取類。 Class serviceManager = Class.forName("Android.os.ServiceManager"); 獲取方法 Method method = serviceManager.getMethod("getService

熱點內容
傳奇這個配置怎麼樣 發布:2024-11-14 11:48:25 瀏覽:376
配置橫向防火牆是什麼意思 發布:2024-11-14 11:42:34 瀏覽:731
手機緩存文件能打開嗎 發布:2024-11-14 11:41:00 瀏覽:492
存儲系統集成 發布:2024-11-14 11:14:54 瀏覽:584
雲伺服器搭建方法圖解 發布:2024-11-14 11:14:53 瀏覽:309
挑戰伺服器吃雞是什麼 發布:2024-11-14 10:59:07 瀏覽:932
自繳社保演算法 發布:2024-11-14 10:43:53 瀏覽:554
長安科尚哪個配置有電動滑門 發布:2024-11-14 10:37:10 瀏覽:198
隨機策略演算法 發布:2024-11-14 10:37:10 瀏覽:796
辦公室電腦可以改無盤伺服器嗎 發布:2024-11-14 10:32:28 瀏覽:864