「java制作logcat」java制作简易计算器
今天给各位分享java制作logcat的知识,其中也会对java制作简易计算器进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
如何在JNI编程中使用logCat
在android编程java代码中,我们知道,可以使用Log.v等一些将日志输出到logcat,然后我们就可以看到日志输出信息。当然,也可以在外壳里使用亚行 NDK是否支持了。以往,在JNI编程中,调试本地接口方法比较困难,往往都是采用打日志的方式将日志输出到文件。今天,在目录
/build/platforms/android-8/arch-arm/usr/include/android/log.h
下发现的Android NDK提供的头文件,打开瞧瞧
[CPP]鉴于plaincopy
/ *
*版权所有(C)2009年的Android开源项目
*
* Apache许可证下授权,版本2.0(以下简称“许可证”);
*您不能使用这个文件除了在遵守许可。
*您可以在获得许可证的副本
*
*
*
*除非适用法律要求或书面同意,软件
*许可证下发布分布在一个“AS IS”的基础上,
*无担保或任何形式的条件,明示或暗示的保证。
*请参阅许可证特定语言的管理权限和
*许可证下的局限性。
* /
#ifndef的_ANDROID_LOG_H
#定义_ANDROID_LOG_H
/ ******************* *****************
*
*重要提示:
*
*这个文件是Android的一套稳定的系统头的一部分
*揭发了Android NDK(原生开发套件),因为
*平台1.5版
*
*第三方源代码和二进制代码依赖于定义
*这里被冻结在所有UPCOMING平台版本。
*
* - 不要修改ENUMS(除非您添加新的32位值)
* - 不要修改常数或功能宏
* - 请勿更改功能的签名ANY WAY
* - 请勿更改结构的布局和大小
* /
/ *
*支持例程将消息发送到了Android的内核日志缓冲区,
*可以在以后通过“logcat的”实用工具进行访问。
*
*每个日志消息必须有
* - 优先
* - 日志标签
* - 一些文本
*
*标记通常对应于发射所述日志消息的组件,
*并应相当小。
*
*日志消息文本可能会被截断,以不到一个特定实现
*限制(如1023字符)。
*
*请注意,换行符(“/ N”)将被自动添加到您的
*日志消息,如果不是已经存在。这是不可能的发送几个消息
*,并让它们出现在logcat中一行。
*
*请使用日志切勿过量:
*
* - 发送日志消息吃CPU和减慢你的应用程序和
*系统。
*
* - 圆形日志缓冲区是非常小(64KB),发送大量邮件
*可能会蹬从系统的其余部分等重要日志消息。
*
* - 在发布版本,只发送日志消息来解释例外
*条件。
*
*注意:这些功能必须由/system/lib/liblog.so实施
* /
的#include STDARG.H
的#ifdef __cplusplus
外部的“C”{
#ENDIF
/ *
* Android的日志优先级值,以升序的优先顺序。
* /
的typedef枚举android_LogPriority {
ANDROID_LOG_UNKNOWN = 0,
ANDROID_LOG_DEFAULT,/ *仅供SetMinPriority()* /
ANDROID_LOG_VERBOSE,
ANDROID_LOG_DEBUG,
ANDROID_LOG_INFO,
ANDROID_LOG_WARN,
ANDROID_LOG_ERROR,
ANDROID_LOG_FATAL,
ANDROID_LOG_SILENT,/ *仅供SetMinPriority();必须是最后一个* /
} android_LogPriority;
/ *
*发送一个简单的字符串日志。
* /
INT __android_log_write(INT PRIO,为const char *标记,为const char *文本);
/ *
*发送一个格式化字符串到日志,使用如printf(FMT,...)
* /
INT __android_log_print(INT PRIO,为const char *标记,为const char * FMT,...)
#如果定义(__ GNUC__)
__attribute__((格式(printf的,3,4)))
#ENDIF
;
/ *
* __android_log_print(的一种变体),需要一个va_list的列表
*额外的参数。
* /
INT __android_log_vprint(INT PRIO,为const char *标记,
为const char * FMT,va_list的AP);
/ *
*登录断言失败和SIGTRAP过程中有机会
*检查它,如果一个调试器附加。它使用了致命的优先级。
* /
无效__android_log_assert(为const char * COND,为const char *标记,
为const char * FMT,...)
#如果定义(__ GNUC__)
__attribute__((不返回的))
__attribute__((格式(printf的,3,4)))
#ENDIF
;
的#ifdef __cplusplus
}
#ENDIF
#ENDIF / * * _ANDROID_LOG_H /
请仔细阅读这个头文件,我们会发现,Android的NDK完全支持JNI本地方法调试。它提供4个函数供我们使用,如下
[CPP]鉴于plaincopy
/ *
*发送一个简单的字符串日志。
* /
INT __android_log_write(INT PRIO,为const char *标记,为const char *文本);
/ *
*发送一个格式化字符串到日志,使用如printf(FMT,...)
* /
INT __android_log_print(INT PRIO,为const char *标记,为const char * FMT,...)
/ *
* __android_log_print(的一种变体),需要一个va_list的列表
*额外的参数。
* /
INT __android_log_vprint(INT PRIO,为const char *标记,
为const char * FMT,va_list的AP);
/ *
*登录断言失败和SIGTRAP过程中有机会
*检查它,如果一个调试器附加。它使用了致命的优先级。
* /
无效__android_log_assert(为const char * COND,为const char *标记,
为const char * FMT,...)
我们可以将本地方法调试信息发送到logcat里。(是不是很爽,以后调试本地方法就不用那么纠结了^_^)
要使用这几个函数,就必须在本地文件中加入如下包含语句
的#include 机器人/ log.h
Android studio怎么自定义logcat提示信息
一、下载安装 下载安装包(dmg文件),打开并将Android Studio拖动到Applications中去,拷贝完毕即可,可以到应用程序下将图标拖动到Dock上。二、新建工程 安装完成后,选择默认选项点击OK即可:进入Android Studio,开始界面和Xcode有点类似,点击New project新建一个工程,新建过程和在Eclipse上差不多,这里就不赘述了。下图是开始界面:新建工程完毕后就进入了Android Studio主界面。第一次进去可能如下图所示什么也没有,点击箭头所示按钮目录结构,后可以看到Android Studio的目录结构,和Eclipse的工程还是有一点区别的:区别: 1.Android Studio的目录结构本来就代表一个workspace,一个workspace里面可以有Module,可以将一个Module理解成Eclipse中的一个Project; 2.目录中将java代码和资源文件(图片、布局文件等)全部归结为src,在src目录下有一个main的分组,同时划分出java和res两个Group,res和Eclipse下的结构一样,java下就是源码的包和类文件; 3.新建文件方式的不同,右键选择New或Command+N后出现新建菜单,类型有Java Class,也就是一般的java类,File就是普通文件,Package就是建包,值得注意的就是Android Component,它直接提供了Android中基本组件的创建。可以选择创建Android中不同类型的组件:三、窗口布局及主题介绍 另外,主界面底部有一个名为Android的选项卡,打开可以看到DDMS中的设备信息和Logcat输出:顶部工具栏中可以看到和Eclipse中功能一样的一个选项,这些相信大家都比较熟悉了:最后需要说明的是,大家看到我的主界面是暗色风格,和Google演示的是一样的风格,大家第一次使用打开的是默认风格(亮色),如果想要修改的话,进入Preferences(按Command+,)到IDE Settings下选择Colorsfont并设置Schema name为Darcula就可以设置成暗色风格,如果需要自己定义样式,比如字体大小颜色等,可以新建一个Schema来自己定义四、布局文件编写(实时预览) 最炫的功能要来了,实时编写并预览布局文件,此项功能着实大大提高开发效率,打开一个xml布局文件点击右侧Preview选项卡即可唤出预览界面,可以选择很多尺寸的手机进行预览:同时,还可以同时预览多种不同型号和尺寸的设备,编写代码的同时适配多种机型,这不就是当初梦寐以求的嘛!上面介绍了Android Studio的基本使用,包括安装、新建工程、工程结构以及主题设置。下面介绍一些其他技巧,以及与Eclipse之前的一些对比。需要重申一下,我所有的操作与版本是基于Mac系统,在Windows上的同学基本类似,下面就分主题开始吧: 一、从Eclipse导入工程到Android Studio 根据官方的介绍,Android Studio可以兼容Eclipse的现有工程,但需要做一些操作: 首先升级ADT到最新版本,目前为版本号为22(注意和ADT相关的组件最好一并升级,避免后期可能出现的错误) 选择需要从Eclipse导出的工程,右键选择Export并选择Android下的Generate Gradle Build Files(如下图):选择完毕后并不会导出到其他地方,而是在本地工程生成了一个build.gradle文件,在Eclipse工程中也可以看到,这个文件是Android Studio识别的,如下图:3.随后进入Android Studio并选择Import Project,可以看到刚刚在Eclipse中的项目图标变成了一个Android机器人图标,说明转换成功,这时候选择工程导入即可:至此,就完成了从Eclipse导入现有Android工程到Android Studio,现在可以开始对工程进行操作了! 二、Eclipse工程与Android Studio的区别 Eclipse工程可以导入Android Studio运行,而反过来在Android Studio建立的工程不能在Eclipse中运行; 二者的工程结构不一样,在Eclipse中一个Project就代表一个项目工程,而在Android Studio中就和Intellij一样,一个Project代表一个工作空间,相当于Eclipse中的workspace,而在Android Studio中一个Module就相当于Eclipse中的一个Project,这个概念需要弄明白,不要混了或觉得糊涂了。 在编辑操作上,在Eclipse中编辑修改后必须手动command+s保存文件,而在Android Studio中就和Intellij一样是自动保存的,这一点和第二点和Xcode也是类似的。 工程目录上的区别,在Eclipse中src部分一般是java文件,res部分是资源文件,包括布局文件和多媒体资源等。在Android Studio中,可以看下图的目录结构:包括java文件和资源文件全部放到了src目录下,src目录下包括一个main文件夹,再下面就是java文件夹和res文件夹,其实这里,java文件夹就相当于Eclipse中的src,res还是那个res,这里想起了本山老师的小品“src已经不是那个src了,res还是那个res” 三、真机运行以及常用快捷键 在Android Studio中点击界面下方的Android选项卡可以看到Device信息和Logcat,连上设备后打开Android选项卡会检测真机,成功后会显示在Device中,点击顶部的绿色小箭头就可以开始运行工程了。有一点需要注意的是,运行时可以选择模拟器也可以选择真机,由于在Android Studio中运行工程的时候有一个Device优先级选择,如果不设置的话可能会出现只运行在模拟器上的现象,我们可以自行设置一下:先点击Run菜单选择Run Configuration,并选择你想选择的目标设备,可以是模拟器和真机,也可以在运行选由用户选择:快捷键大家可以对照官方文档进行熟悉,如下表,也可以自己修改配置选项进行自定义:个人觉得Android Studio还是有一定的前景的,这里就需要Google不断进行完善和改进了,赶紧把大家从Eclipse中解救出来吧。另外,在此期间,大家其实可以尝试使用一下Intellij IDEA,这个默认也是集成Android开发环境的。Android Studio是基于前者改进而来,二者在使用上差不多,也是Eclipse的一个不错的替代者。下面提供一个Windows版Android Studio下载。
Android开发中JNI层从Java层获得的变量的值要在Logcat中打印,怎么做?
jni 中使用LOGD,LOGE,LOGV等等函数,注意include "cutils/log.h",java 的变量有的要转一下的,或者有的不转也可以的。
java制作logcat的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java制作简易计算器、java制作logcat的信息别忘了在本站进行查找喔。