導航:首頁 > 操作系統 > android傳遞class

android傳遞class

發布時間:2022-06-22 10:03:52

android中.class是什麼意思

這些是java的基礎知識.
this代表本類的一個引用,
this.*表示調用本類的某個方法,這個時候通常可以省略this;但在內部類中不能省略,否則編譯器會認為是內部類的引用,所以要在this前加上類名
*.this表示本類的引用,通常前面的*是用本類的名字表示,當然也可以省略,但是如果是在內部類中一定要加上類名;
*.class表示其他的類;
在android中通常用的最多的地方是intent.setClass(A.this, B.class);

❷ 如何在Android開發中activity之間數據傳遞

android各組件之間可以使用Intent來傳遞數據, 這里以ActivityA向ActivityB傳遞數據為例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Intent intent = new Intent(context, ActivityB.class);

//如果context上下文不是Activity的話, 需要添加下面這個flag,
if (!(context instanceof Activity)) {
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
//添加要傳遞的數據
//這里的key到時候ActivityB會用來得到value
//android要求可以傳遞的數據類型包括基本數據類型,
//基本數據類型的數組,CharSequence,以及實現了Parcelable的對象
//putExtra是重載方法, 根據value的類型會適當的打包進intent的Bundle對象里
intent.putExtra(key, value);
//或則將數據打包進Bundle data里, 然後intent.putExtras(data);

context.startActivity(intent);


在ActivityB中

1
2
3
4
5
6

public void onCreate(Bundle savedInstanceState) {
//得到傳遞過來的數據
Bundle bundle = getIntent().getExtras();
//通過getXXX方法來獲取key對應的value
bundle.getXXX(key);
}

❸ android 中如何使用intent通過傳遞變數傳遞數據

Intent intent =new Intent(AActivity.this,BActivity.class);
intent.putExtra("num1", num1) ;
intent.putExtra("num2", num2) ;
startActivity(intent) ;
另一個接受的是Activity是 :
String num1 =this.getIntent().getStringExtra("num1") ;
String num2 =this.getIntent().getStringExtra("num2") ;
基本就這樣

❹ 如何實現android跳轉頁面並傳遞參數

activity間的傳值
1.值由A.class傳遞到B.class
A.class中:

B.class中:

Intent intent = getIntent();
//獲取數據
String username = intent.getStringExtra("username1");
String userpwd = intent.getStringExtra("userpwd1");
/* Bundle data = intent.getExtras();
String username = intent.getString("username1");
String userpwd = intent.getString("userpwd1"); */

2.除了A.class可以向B.class傳值外,B.class也可以返回值
A.class中
this.startActivity(intent);
改為this.startActivityFroResult(intent,1);//1為請求碼
B.class中
對傳過來的intent對象賦新值

intent.putExtra("username2",username2);
intent.putExtra("userpwd2",userpwd2);
this.setResult(1,intent);
this.finish();//結束焦點

A.class中重寫

@Override protected void onActivityResult(int requestCode,int resultCode,Intent data){
super.onActivityResult(requestCode,resultCode,data);
if(resultCode==1)
{
//可從data中取出值
}
}

A.class中取出B.class中intent傳過來的值

3.intent.setClass(A.this,B.class)的另一種寫法
在manifest.xml中B的Activity中加入
<intent-filter>
<action android:name="com.showB">//這里可以隨便寫
<category android:name = "android.intent.category.DEFAULT">
</intent-filter>
那麼A中就可以直接寫
intent.setAction("com.showB");
來代替
intent.setClass(A.this,B.class);
這也就提示了我們利用intent-filter可以實現其他很多功能

❺ android怎麼才能傳遞多個參數和對象

activity之間傳遞參數你可以 ntent intent = new Intent(); intent.setClass(this, DetailActivity.class); intent.putExtra("human", human); intent.putExtra("method", method); ..... 有更多參數都可以在這里put startActivity(intent); 在相應的activity里可以這樣取傳過來的參數 getIntent().getExtras().getSerializable("human"); .......

❻ 【Android 開發】 : Activity之間傳遞數據的幾種方式

1. 使用Intent來傳遞數據Intent表示意圖,很多時候我們都會利用Android的Intent來在各個Activity之間傳遞數據,這也是Android比較官方的一種數據傳遞的方式需求1:從一個Activity(IntentDemo)跳轉到另外一個Activity(Other),其中利用Intent來傳遞數據程序Demo如下:IntentDemo.javapackage com.android.intentdemo; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class IntentDemo extends Activity { private Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); initComponent(); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(IntentDemo.this, Other.class); // 在Intent中傳遞數據 intent.putExtra("name", "AHuier"); intent.putExtra("age", 22); intent.putExtra("address", "XiaMen"); // 啟動Intent startActivity(intent); } }); } private void initComponent() { button = (Button) findViewById(R.id.button); } } other.javapackage com.android.intentdemo; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView; public class Other extends Activity { private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.other); initComponent(); Intent intent = getIntent(); int age = intent.getIntExtra("age", 0); String name = intent.getStringExtra("name"); String address = intent.getStringExtra("address"); textView.setText("My age is " + age + "\n" + "My name is " + name + "\n" + "My address " + address); } private void initComponent() { textView = (TextView) findViewById(R.id.msg); } } ——>2. 在Activity之間使用靜態變數傳遞數據在上例中使用Intent可以很方便的在不同的Activity之間傳遞數據,這個也是官方推薦的方式,但是也有一定的局限性,就是Intent無法傳遞不能序列化的對象。我們可以使用靜態變數來解決這個問題。需求1:從一個Activity(IntentDemo)跳轉到另外一個Activity(Other),其中利用靜態變數來傳遞數據程序Demo:IntentDemo.java Intent intent = new Intent(); intent.setClass(IntentDemo.this, Other.class); Other.age = 22; Other.name = "AHuier"; Other.address = "XiaMen"; startActivity(intent); Other.java private TextView textView; public static int age; public static String name; public static String address; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.other); initComponent(); textView.setText("My age is " + age + "\n" + "My name is " + name + "\n" + "My address " + address); }——>3. 通剪切板傳遞數據 在Activity之間數據傳遞還可以利用一些技巧,不管是Windows還是Linux操作系統,都會支持一種剪切板的技術,也就是一個程序將一些數據復制到剪切板上,然後其他的任何程序都可以從剪切板中獲取數據。1) 利用剪切板傳遞普通的數據,如字元串 需求1:從一個Activity(IntentDemo)跳轉到另外一個Activity(Other),通過剪切板傳遞數據 程序Demo:IntentDemo.java ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); String name = "AHuier"; clipboardManager.setText(name); Intent intent = new Intent(IntentDemo.this, Other.class); startActivity(intent);Other.javaClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); String msgString = clipboardManager.getText().toString(); textView.setText(msgString);——> 1) 利用剪切板傳遞復雜的數據,如對象需求1:從一個Activity(IntentDemo)跳轉到另外一個Activity(Other),通過剪切板傳遞數據新建一個MyData.javapackage com.android.intentdemo; import java.io.Serializable; public class MyData implements Serializable { private String name; private int age; public MyData(String name, int age) { super(); this.name = name; this.age = age; } // 提供一個toString()方法 @Override public String toString() { return "MyData [name=" + name + ", age=" + age + "]"; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } IntentDemo.java MyData myData = new MyData("AHuier", 22); //將對象轉換成字元串 ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); String base64String = ""; try { ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream); objectOutputStream.writeObject(myData); //使用Android中提供的 Base64 工具類,這個類主要是用來對對象進行壓縮也解碼的過程,使用默認方式 base64String = Base64.encodeToString(byteArrayOutputStream.toByteArray(), Base64.DEFAULT); objectOutputStream.close(); } catch (Exception e) { // TODO: handle exception } ClipboardManager clipboardManager = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE); clipboardManager.setText(base64String); Intent intent = new Intent(IntentDemo.this, Other.class); startActivity(intent); Other.java ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); String msgString = clipboardManager.getText().toString(); //將字元串 msgString 還原為對象 byte[] base64_byte = Base64.decode(msgString, Base64.DEFAULT); ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(base64_byte); try { ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream); MyData myData = (MyData)objectInputStream.readObject(); textView.setText(myData.toString()); } catch (Exception e) { // TODO: handle exception }——>4.Intent中使用全局變數來傳遞數據需求1:從一個Activity(Main)跳轉到另外一個Activity(Other),通過全局變數來傳遞數據Main.javaprivate Button button; private MyApp myApp; ... myApp = (MyApp)getApplication(); myApp.setName("kunhuixu"); //修改之後的名稱 Intent intent = new Intent(Main.this, Other.class); startActivity(intent);Other.javaprivate MyApp myApp; private TextView textView; ... myApp = (MyApp)getApplication(); textView.setText("--- The app name ---" + myApp.getName());MyApp.javapackage com.android.intentglobal; import android.app.Application; /* * 查看Android官方文檔。 * Application 是所有那些需要維護全局application狀態的基類。你可以提供你自己的實現機制通過在在AndroidManifest.xml中提供你自己的需要聲明 * 的標記你自己的標簽。 * onCreate()方法是在應用程序啟動的時候被回調的。 ——>

❼ android問題:intent.setClass(FirstActivity.this, SecondActivity.class);

這是android的傳遞對象方法。從第一個activity跳轉到另一個activity,setClass就是傳遞對象基礎類設置。假如我們設置2個活動布局,一個是登陸界面logen一個是主界面mainfrm。他的登錄按鈕切換界面寫法就是:

Intentit=newIntent();
it.setClass(logen.this,mainfrm.class);
startActivity(it);

要傳參還要用it.putExtra方法,它實際上是這種方法:

Intentit=newIntent(logen.this,mainfrm.class);
startActivity(it);

就是java語言、C#的new對象一樣。

❽ Android中如何在兩界面間傳遞下面的集合

intent啊 intent是android的運輸大隊長

Intent newIntent = new Intent();
newIntent.setClass(this, another.class);
List<Map<String, Object>> listData = new ArrayList<Map<String, Object>>();

Bundle bundle = new Bundle();
bundle.putSerializable(」data「, listData );
newIntent.putExtras(bundle);
startActivityForResult(newIntent, 0);

在another類中的oncreate()方法取
List<Map<String, Object>> listData = new ArrayList<Map<String, Object>>();

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
List<Map<String, Object>> listData= (List) bundle.getSerializable(」data「);
}
大概是這個樣子,祝你順利

❾ android如何為自定義的類傳遞參數

由CourseActivity跳轉到MainActivity?
通過intent.putExtras(xxx,yyy)來傳遞參數,在MainActivity裡面通過getIntent().getExtras().get(xxx)來獲取參數。你要給自定義類設置參數,只要在類裡面添加一個屬性,用來接收就好了。

閱讀全文

與android傳遞class相關的資料

熱點內容
UG命令變成灰色用不了 瀏覽:150
sdk命令 瀏覽:94
好玩免費下載的解壓游戲 瀏覽:9
單片機老師招聘考試內容 瀏覽:425
彈性雲伺服器配置流程 瀏覽:304
android交叉編譯linux 瀏覽:988
金聖嘆水滸傳pdf 瀏覽:501
安卓官換新機是什麼意思啊 瀏覽:922
java如何分頁 瀏覽:558
如何查找加密的視頻 瀏覽:742
單片機lcd漢字顯示 瀏覽:879
能夠識別中文的編譯器 瀏覽:63
androidlayout注釋 瀏覽:959
重啟手機命令 瀏覽:838
程序員那麼可愛男女主是誰 瀏覽:492
文件如何上傳到自己的伺服器 瀏覽:401
你用什麼app 瀏覽:224
安卓平板用什麼優化軟體 瀏覽:747
centos重新編譯程序 瀏覽:335
cocoapods命令 瀏覽:906