java android开发工具 tudio 可以开发java吗

刚开始使用Android Studio时,在创建一个javabean时,很习惯的在JavaBean类中,右键去找生成get,set等选项。但是很遗憾,找不到。
那这边如何快速的set,get或者生成构造函数,生成toString方法。
有两种方式:
方式一:Code--&Generate
方式二:通过快捷键Alt+Insert
这时,在弹出的对话框中就可以选择你所需要的对应的东东了。
阅读(...) 评论()52381人阅读
android(28)
Android&Studio版本:release 1.0.2
创建一个空的project。创建一个空的activity。
在该类里面定义一个native方法。如下:
public native String getStringFromNative();
然后make&project一下,目的就是编译成对应的class文件。然后根据生成的class文件,利用javah生成对应的&.h头文件。
点开android&studio&的Terminal标签页,默认进入到该项目的app文件夹下。如果在该目录下输入cd& src\main&&切换到main目录下。
我的路径为:
E:\work\android\MyJNIDemo\app\src\main&
用javah生成c的头文件:
javah -d jni -classpath D:\androidsdk\platforms\android-21\android...\..\build\intermediates\classes\debug com.jnimobile.www.myjnidemo.MainActivity
就会发现在main目录下多了一个jni文件夹,里面有生成好的头文件:com_jnimobile_www_myjnidemo_MainActivity.h
内容如下:
/* DO NOT EDIT THIS FILE - it is machine generated */
#include &jni.h&
/* Header for class com_jnimobile_www_myjnidemo_MainActivity */
#ifndef _Included_com_jnimobile_www_myjnidemo_MainActivity
#define _Included_com_jnimobile_www_myjnidemo_MainActivity
#ifdef __cplusplus
extern &C& {
#undef com_jnimobile_www_myjnidemo_MainActivity_BIND_ABOVE_CLIENT
#define com_jnimobile_www_myjnidemo_MainActivity_BIND_ABOVE_CLIENT 8L
#undef com_jnimobile_www_myjnidemo_MainActivity_BIND_ADJUST_WITH_ACTIVITY
#define com_jnimobile_www_myjnidemo_MainActivity_BIND_ADJUST_WITH_ACTIVITY 128L
#undef com_jnimobile_www_myjnidemo_MainActivity_BIND_ALLOW_OOM_MANAGEMENT
#define com_jnimobile_www_myjnidemo_MainActivity_BIND_ALLOW_OOM_MANAGEMENT 16L
#undef com_jnimobile_www_myjnidemo_MainActivity_BIND_AUTO_CREATE
#define com_jnimobile_www_myjnidemo_MainActivity_BIND_AUTO_CREATE 1L
#undef com_jnimobile_www_myjnidemo_MainActivity_BIND_DEBUG_UNBIND
#define com_jnimobile_www_myjnidemo_MainActivity_BIND_DEBUG_UNBIND 2L
#undef com_jnimobile_www_myjnidemo_MainActivity_BIND_IMPORTANT
#define com_jnimobile_www_myjnidemo_MainActivity_BIND_IMPORTANT 64L
#undef com_jnimobile_www_myjnidemo_MainActivity_BIND_NOT_FOREGROUND
#define com_jnimobile_www_myjnidemo_MainActivity_BIND_NOT_FOREGROUND 4L
#undef com_jnimobile_www_myjnidemo_MainActivity_BIND_WAIVE_PRIORITY
#define com_jnimobile_www_myjnidemo_MainActivity_BIND_WAIVE_PRIORITY 32L
#undef com_jnimobile_www_myjnidemo_MainActivity_CONTEXT_IGNORE_SECURITY
#define com_jnimobile_www_myjnidemo_MainActivity_CONTEXT_IGNORE_SECURITY 2L
#undef com_jnimobile_www_myjnidemo_MainActivity_CONTEXT_INCLUDE_CODE
#define com_jnimobile_www_myjnidemo_MainActivity_CONTEXT_INCLUDE_CODE 1L
#undef com_jnimobile_www_myjnidemo_MainActivity_CONTEXT_RESTRICTED
#define com_jnimobile_www_myjnidemo_MainActivity_CONTEXT_RESTRICTED 4L
#undef com_jnimobile_www_myjnidemo_MainActivity_MODE_APPEND
#define com_jnimobile_www_myjnidemo_MainActivity_MODE_APPEND 32768L
#undef com_jnimobile_www_myjnidemo_MainActivity_MODE_ENABLE_WRITE_AHEAD_LOGGING
#define com_jnimobile_www_myjnidemo_MainActivity_MODE_ENABLE_WRITE_AHEAD_LOGGING 8L
#undef com_jnimobile_www_myjnidemo_MainActivity_MODE_MULTI_PROCESS
#define com_jnimobile_www_myjnidemo_MainActivity_MODE_MULTI_PROCESS 4L
#undef com_jnimobile_www_myjnidemo_MainActivity_MODE_PRIVATE
#define com_jnimobile_www_myjnidemo_MainActivity_MODE_PRIVATE 0L
#undef com_jnimobile_www_myjnidemo_MainActivity_MODE_WORLD_READABLE
#define com_jnimobile_www_myjnidemo_MainActivity_MODE_WORLD_READABLE 1L
#undef com_jnimobile_www_myjnidemo_MainActivity_MODE_WORLD_WRITEABLE
#define com_jnimobile_www_myjnidemo_MainActivity_MODE_WORLD_WRITEABLE 2L
#undef com_jnimobile_www_myjnidemo_MainActivity_DEFAULT_KEYS_DIALER
#define com_jnimobile_www_myjnidemo_MainActivity_DEFAULT_KEYS_DIALER 1L
#undef com_jnimobile_www_myjnidemo_MainActivity_DEFAULT_KEYS_DISABLE
#define com_jnimobile_www_myjnidemo_MainActivity_DEFAULT_KEYS_DISABLE 0L
#undef com_jnimobile_www_myjnidemo_MainActivity_DEFAULT_KEYS_SEARCH_GLOBAL
#define com_jnimobile_www_myjnidemo_MainActivity_DEFAULT_KEYS_SEARCH_GLOBAL 4L
#undef com_jnimobile_www_myjnidemo_MainActivity_DEFAULT_KEYS_SEARCH_LOCAL
#define com_jnimobile_www_myjnidemo_MainActivity_DEFAULT_KEYS_SEARCH_LOCAL 3L
#undef com_jnimobile_www_myjnidemo_MainActivity_DEFAULT_KEYS_SHORTCUT
#define com_jnimobile_www_myjnidemo_MainActivity_DEFAULT_KEYS_SHORTCUT 2L
#undef com_jnimobile_www_myjnidemo_MainActivity_RESULT_CANCELED
#define com_jnimobile_www_myjnidemo_MainActivity_RESULT_CANCELED 0L
#undef com_jnimobile_www_myjnidemo_MainActivity_RESULT_FIRST_USER
#define com_jnimobile_www_myjnidemo_MainActivity_RESULT_FIRST_USER 1L
#undef com_jnimobile_www_myjnidemo_MainActivity_RESULT_OK
#define com_jnimobile_www_myjnidemo_MainActivity_RESULT_OK -1L
com_jnimobile_www_myjnidemo_MainActivity
getStringFromNative
* Signature: ()Ljava/lang/S
JNIEXPORT jstring JNICALL Java_com_jnimobile_www_myjnidemo_MainActivity_getStringFromNative
(JNIEnv *, jobject);
#ifdef __cplusplus
在jni目录下新建一个 .c文件。来实现头文件里面声明的方法。我的叫main.c
内容如下:
#include &com_jnimobile_www_myjnidemo_MainActivity.h&
com_jnimobile_www_myjnidemo_MainActivity
getStringFromNative
* Signature: ()Ljava/lang/S
JNIEXPORT jstring JNICALL Java_com_jnimobile_www_myjnidemo_MainActivity_getStringFromNative
(JNIEnv * env, jobject obj){
return (*env)-&NewStringUTF(env,&I'm comes from to Native Function!&);
在jni下面再建一个空的.c文件。要不编译有问题,这个应该是android&studio的一个bug。
在 local.properties&文件中设置ndk的路径:
ndk.dir=D\:\\android-ndk-r10d
该文件的完整的配置信息如下:
sdk.dir=D\:\\androidsdk
ndk.dir=D\:\\android-ndk-r10d
在app目录下的&build.gradle中设置库文件名(生成的so文件名):
找到 defaultConfig&这项,在里面添加如下内容:
moduleName &MyJni&
//设置库(so)文件名称
在activity中添加一个TextView以便显示从native方法中获取的字符信息(修改对应的布局文件添加一个TextView,并设定其ID值)。
在activity中增加对so的加载:
System.loadLibrary(&MyJni&);
activity的完整代码如下:
package com.jnimobile.www.
import android.app.A
import android.os.B
import android.widget.TextV
public class MainActivity extends Activity {
private TextView tv=
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView)findViewById(R.id.tv);
tv.setText(getStringFromNative());
public native String getStringFromNative();
System.loadLibrary(&MyJni&);
编译,并运行。界面上就会显示从native方法传过来的值。
项目目录截图如下:
这个是运行在模拟器上的截图:

参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1267987次
积分:11802
积分:11802
排名:第948名
原创:209篇
转载:271篇
评论:134条
(4)(9)(14)(8)(9)(16)(6)(8)(5)(9)(8)(4)(5)(6)(6)(6)(4)(3)(1)(6)(8)(9)(6)(4)(4)(12)(6)(15)(8)(6)(1)(2)(3)(5)(28)(6)(1)(4)(2)(1)(3)(1)(3)(2)(2)(2)(2)(3)(2)(4)(7)(10)(3)(15)(19)(3)(5)(6)(3)(3)(4)(5)(3)(5)(6)(6)(5)(4)(3)(1)(13)(10)(6)(1)(2)(1)(4)(2)(13)(4)(1)(2)(1)(4)(4)(3)(3)(5)(2)使用Android Studio搭建开发环境 - ImportNew
| 分类: ,
| 标签: , ,
2013年Google I/O 大会首次发布了Android Studio IDE(Android平台集成开发环境)。它基于Intellij IDEA 开发环境,旨在取代Eclipse和ADT(Android开发者工具)为开发者提供更好的开发工具。既然Google一直在努力推广,相信不久以后就有望赶上Eclipse。
相比Eclipse,Android Studio IDE有自己优缺点:
优点:对UI界面设计和编写代码有更好地支持,可以方便地调整设备上的多种分辨率。
优点:同样支持ProGuard工具和应用签名。
缺点:不过,目前版本的Android Studio不能在同一窗口中管理多个项目。每个项目都会打开一个新窗口。我猜这是借鉴了Intellij IDEA的行为,而且Google近期不会对此做出调整。
缺点:虽然支持Gradle自动化构建工具,但对于刚从Eclipse平台转移过来的开发者来说还需要一段时间去学习和适应。
如果你已经在系统上安装了Android SDK的话,可以从Android Developer网站下载最新版本的Android Studio。
附Android SDK下载地址:
安装android-studio-bundle-&version&.exe文件。
根据安装向导指示完成安装:
如果还没在系统上安装JDK,那你还需要安装最新版本的Java,然后设置好JDK_HOME和JAVA_HOME环境变量:
是否限制安装配置,选择“任何本机用户都能使用”,下面一项“仅供你使用”:
选择安装路径:
安装完成后,打开Android Studio项目启动IDE。
启动IDE会花上几秒钟,并显示以下启动画面:
有时Android Studio(大多数情况发生在旧版本上)会启动失败并显示以下报错:
用管理员权限重新启动以解决这个问题。
在Android Stdio的主界面,选择“Configure选项–&Project Defaults选项–& Project Structure选项”——Android SDK and configure the paths to your JDK and Android SDK:
在Android Studio 主界面中点击“New Project”:
当你点击“New Project”项后,Android Studio将显示如下对应的应用程序名称、模块名、包名。而且你可以指定编译应用程序的Android SDK版本和所支持的最低SDK版本,然后任选一个内置主题。
接下来你需要选择在手机上显示的应用程序图标,当然我们也可以按照默认设置不作改动,点击Next继续。
需要选择创建何种类型的Activity用户界面,点击Next完成创建。如果还不清楚该创建哪一种,那就选择Blank Activity来产生一个空白事件。
为新建立的Activity命名,点击Finish以完成创建。
第一次创建项目时,因为IDE会索引项目工程下载一些Gradle工具的相关包,所以会花费一点时间。
然后,在IDE界面点击Run按钮来启动项目。
IDE会提示你从可用的设备或模拟器列表中选择一个进行Android应用布署。
在这里,我从“Android Virtual device”中选择了android_2_3_3版本模拟器,再点击OK完成。如果模拟器没有提前启动,启动模拟器会花费非常长的时间。我的建议是手动启动模拟器,接着你就能在“Choose a running device”列表中找到正在运行的模拟器。
模拟器会自动生成“HelloWorld”应用并安装在你的模拟器或设备上,紧接着运行程序。
原文链接:
- 译文链接: [ 转载请保留原文出处、译者和译文链接。]
关于作者:
Android 爱好者,(新浪微博:)
不知道这个小log日志框架快在什么地方,为什么会快?
关于ImportNew
ImportNew 专注于 Java 技术分享。于日 11:11正式上线。是的,这是一个很特别的时刻 :)
ImportNew 由两个 Java 关键字 import 和 new 组成,意指:Java 开发者学习新知识的网站。 import 可认为是学习和吸收, new 则可认为是新知识、新技术圈子和新朋友……
新浪微博:
推荐微信号
反馈建议:@
广告与商务合作QQ:
– 好的话题、有启发的回复、值得信赖的圈子
– 写了文章?看干货?去头条!
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 活跃 & 专业的翻译小组
– 国内外的精选博客文章
– UI,网页,交互和用户体验
– JavaScript, HTML5, CSS
– 专注Android技术分享
– 专注iOS技术分享
– 专注Java技术分享
– 专注Python技术分享
& 2017 ImportNew

我要回帖

更多关于 java android开发教程 的文章

 

随机推荐