導航:首頁 > 操作系統 > android調用其他類方法嗎

android調用其他類方法嗎

發布時間:2025-02-16 21:00:52

1. android中,如何在MainActivity中調用另外一個普通類中的某個方法里的某個變數

比如 public class Bean{
private String name="";
private static Bean bean;
public static Bean getInstance() {
if (bean == null) {
bean = new Bean();
}
return bean;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
然後在MainActivity裡面把這個變數get出來
public class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

String name=Bean. getInstance().getgetName();//這個name就是所求

}
}

2. android 怎麼調用jni裡面的方法

調用jni裡面的方法,過程如下:
第一步:
使用java編寫HelloWorld 的Android應用程序:

package com.lucyfyr;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class HelloWorld extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.v("fresne", printJNI("I am HelloWorld Activity"));
}
static
{
//載入庫文件
System.loadLibrary("HelloWorldJni");
}
//聲明原生函數 參數為String類型 返回類型為String
private native String printJNI(String inputStr);
}

這一步我們可以使用eclipse來生成一個App;
因為eclipse會自動為我們編譯此Java文件,後面要是用到。

第二步:
生成共享庫的頭文件:
進入到eclipse生成的Android Project中 :/HelloWorld/bin/classes/com/lucyfyr/ 下:
可以看到裡面後很多後綴為.class的文件,就是eclipse為我們自動編譯好了的java文件,其中就有:
HelloWorld.class文件。
退回到classes一級目錄:/HelloWorld/bin/classes/
執行如下命令
javah com.lucyfyr.HelloWorld
生成文件:com_lucyfyr_HelloWorld.h

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_lucyfyr_HelloWorld */
#ifndef _Included_com_lucyfyr_HelloWorld
#define _Included_com_lucyfyr_HelloWorld
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: com_lucyfyr_HelloWorld
* Method: printJNI
* Signature: (Ljava/lang/String;)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_com_lucyfyr_HelloWorld_printJNI
(JNIEnv *, jobject, jstring);
#ifdef __cplusplus
}
#endif
#endif

可以看到自動生成對應的函數:Java_com_lucyfyr_HelloWorld_printJNI
Java_ + 包名(com.lucyfyr) + 類名(HelloWorld) + 介面名(printJNI):必須要按此JNI規范來操作;
java虛擬機就可以在com.simon.HelloWorld類調用printJNI介面的時候自動找到這個C實現的Native函數調用。
當然函數名太長,可以在.c文件中通過函數名映射表來實現簡化。

第三步:
實現JNI原生函數源文件:
新建com_lucyfyr_HelloWorld.c文件:

3. Android 中怎樣調用其它類的中的方法

1、定義其他類

publicclassOther{//定義一個普通類
publicvoidshow(){//定義一個普通方法
}
publicstaticvoidcal(){//定義類的靜態方法
}
}

2、實例化其他類或者調用其他類的靜態方法

在android中調用:
Otherot=newOther();//實例化Other類
ot.show();//調用Other類的普通方法

Other.cal();//類名.方法的方法調用靜態方法
閱讀全文

與android調用其他類方法嗎相關的資料

熱點內容
鋼琴自學pdf 瀏覽:228
SC解碼演算法硬體結構 瀏覽:804
邊講故事邊有解壓視頻 瀏覽:77
昭明文選李善注pdf 瀏覽:887
照片加密app打不開 瀏覽:601
如何編譯sass命令行 瀏覽:48
成為java程序員需要會哪些東西 瀏覽:454
移動網路顯示已加密保存什麼意思 瀏覽:137
vm15虛擬機共享文件夾找不到 瀏覽:408
三星壁紙安卓怎麼設置 瀏覽:25
整式乘除運演算法則 瀏覽:503
在svn內創建文件夾 瀏覽:798
解壓縮有後綴 瀏覽:525
手機版我的世界伺服器如何與隊友連接 瀏覽:921
安卓版抖音如何看好友抖音在線 瀏覽:67
雪佛蘭景程空調壓縮機轉風扇不轉 瀏覽:186
文檔加密傳輸中關村 瀏覽:391
雲圖計劃全演算法 瀏覽:479
程序員開工作室需要什麼手續 瀏覽:456
Python中的u1 瀏覽:108