导航:首页 > 操作系统 > 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调用其他类方法吗相关的资料

热点内容
成为java程序员需要会哪些东西 浏览:452
移动网络显示已加密保存什么意思 浏览:135
vm15虚拟机共享文件夹找不到 浏览:406
三星壁纸安卓怎么设置 浏览:25
整式乘除运算法则 浏览:501
在svn内创建文件夹 浏览:796
解压缩有后缀 浏览:521
手机版我的世界服务器如何与队友连接 浏览:919
安卓版抖音如何看好友抖音在线 浏览:65
雪佛兰景程空调压缩机转风扇不转 浏览:186
文档加密传输中关村 浏览:391
云图计划全算法 浏览:479
程序员开工作室需要什么手续 浏览:456
Python中的u1 浏览:108
51单片机无线音乐门铃设计 浏览:531
408算法题分布 浏览:574
三台cnc需要配多大的压缩机 浏览:938
压缩波的另一个名称 浏览:365
电厂电气设备pdf 浏览:270
linux驱动程序编译 浏览:637