当前位置: 首页 > news >正文

做网站在哪个程序做自适应科技公司网站模板

做网站在哪个程序做,自适应科技公司网站模板,辽宁移动网站,网站上怎么做弹幕效果图在开发Android一些应用或是链接库, 在程序代码中埋一些log是一定有需要的, 因为谁也无法保证自己所写出来的程序一定没有问题, 而log机制正是用来追踪bug途径的一种常用的方法. 在andorid中提供了logcat的机制来作log的目的, 在javalayer有logcat class可以用,哪在nativelayer呢…

在开发Android一些应用或是链接库, 在程序代码中埋一些log是一定有需要的, 因为谁也无法保证自己所写出来的程序一定没有问题, 而log机制正是用来追踪bug途径的一种常用的方法. 在andorid中提供了logcat的机制来作log的目的, 在javalayer有logcat class可以用,哪在nativelayer呢? 从android platform source code中不难发现, 其实在nativelayer也有一些跟logcat相关的log用法. 以下就从目前的aosp的source code中整理出来的log用法.

Header system/core/include/cutils/log.h
Library libcutils.so
Example 1. add shared lib to LOCAL_SHARED_LIBRARIES in Android.mk
LOCAL_SHARED_LIBRARIES += libcutils
2. add log define and include the header file in the top of the source file.
#define LOG_NDEBUG 0
#define LOG_TAG "XXX"
#include <cutils/log.h>
3. Use the function as below to print log in logcat.
ALOGV
ALOGD
ALOGI
ALOGW
ALOGE

Header frameworks/native/include/utils/Log.h
Library libutils.so
Example 1. add shared lib to LOCAL_SHARED_LIBRARIES in Android.mk
LOCAL_SHARED_LIBRARIES += libutils
2. add log define and include the header file in the top of the source file.
#define LOG_NDEBUG 0
#define LOG_TAG "XXX"
#include <utils/Log.h>
3. Use the function as below to print log in logcat.
ALOGV
ALOGD
ALOGI
ALOGW
ALOGE

从这里会发现, 第一个跟第二个用法除了link的sharedlibrary 和 include的header file不一样之外, 其他的logfunction 都一样. 其实这个原因很明显就是android的log机制重构过,libutils.so 提供的log function 是比较早期的,后来多了一个新的libcutils.so提供新的logfunction, 然而在更新log机制之下,又不能影响早就用旧的log机制的module, 所以就把旧的libutils.so跟新的libcutils.so作结合, 始其使用旧log机制可以导到新的log机制.

Header system/core/include/android/log.h
Library None
Example 1. Define customize Log tag in the top of the source file.
<span style="white-space:pre"> </span>#define LOG_XXX_TAG "XXX"
2. Define customize Log function by __android_log_print
<span style="white-space:pre"> </span>#define LOGV(...) __android_log_print( ANDROID_LOG_VERBOSE, LOG_XXX_TAG, __VA_ARGS__ )
<span style="white-space:pre"> </span>#define LOGD(...) __android_log_print( ANDROID_LOG_DEBUG, LOG_XXX_TAG, __VA_ARGS__ )
<span style="white-space:pre"> </span>#define LOGI(...) __android_log_print( ANDROID_LOG_INFO, LOG_XXX_TAG, __VA_ARGS__ )
<span style="white-space:pre"> </span>#define LOGW(...) __android_log_print( ANDROID_LOG_WARN, LOG_XXX_TAG, __VA_ARGS__ )
<span style="white-space:pre"> </span>#define LOGE(...) __android_log_print( ANDROID_LOG_ERROR, LOG_XXX_TAG, __VA_ARGS__ )

最后一个用法跟前两个的用法不一样的地方是Log tag可以自己define, 而前两个的Logtag只能define LOG_TAG 以及一定要defineLOG_NDEBUG 0, 这样加入的log function才有作用.说白点, 第三种用法比较不会被制约化.自己的log自己作,log的开关控制自己定. 优点是客制化佳, 缺点是不统一.

http://www.yayakq.cn/news/862713/

相关文章:

  • 网站设计论文的题目wordpress表单支付插件下载
  • 网站怎么做咨询网站推广见效快的方法
  • 网站建设 协议书 docwordpress 忘记数据库密码破解
  • 在线销售型网站大连市建设局官网
  • 棋牌网站哪里做在线做春节网站
  • 泉州手机网站建设公司哪家好西红门网站建设公司
  • 腕表之家网站百度推广哪种效果好
  • 推荐12个国外免费自助建站网站柳州建设厅官方网站
  • 企业网站设计特点深圳响应式网站找哪里
  • 易语言做网站客户端代理办公司注册大概多少钱
  • 客户网站建设问题怎么样开发软件程序
  • 佛山网站建设怎么选择什么叫seo网络推广
  • 彩票走势图网站建设wordpress怎么添加子目录
  • 新手建立企业网站流程大学生网页设计代码
  • 设计师接私活的网站网站的footer怎么做
  • 什么行业必须做网站网站开发的前端语言是哪些
  • 如何搭建静态网站软件设计学什么课程
  • 企业门户网站开发平台的设计与实现软件app免费下载
  • 口碑最好的网站建设网店如何营销推广
  • 网站支付可以做二清专业网站设计模板
  • 网站建设 在线购买美容院网站建设
  • 广州专业的网站开发公司西安煤炭建设监理中心网站
  • 网站建设培训中心重庆市住建厅网站
  • asp.net获取网站的域名医院门户网站开发
  • 普通网站和营销型网站的区别网站建设需求模板
  • 站酷网怎么样天津建筑工程信息招标网
  • 商务网站建设试卷昆明网站建设加q.479185700
  • seo技巧北京关键词优化报价
  • 网站域名如何从代理商那里转出来网站用什么平台开发
  • 那里可以做旅游网站的吗钓鱼网站制作视频教程