- 博客(61)
- 资源 (4)
- 收藏
- 关注
原创 Android串口通讯开发整理
这一段时间做的项目自动售货机和无线终端设备的通讯,都是通过串口进行对接和通讯。在Android中进行串口通信方式可以用Google官方提供的demo代码(android-serialport-api),也可以通过NDK的方式使用C/C++进行实现(Android串口助手,C++实现),其底层原理都是通过调用open函数打开设备文件来进行读写操作。对串口接触下来,发现真的可以做很多有意思的东西,很多...
2019-07-19 10:55:06
1812
2
原创 JNI基础学习笔记--引用管理
在JNI规范中定义了三种引用:局部引用(Local Reference)、全局引用(Global Reference)、弱全局引用(Weak Global Reference)区别如下表: 参考: http://blog.youkuaiyun.com/xyang81/article/details/44657385
2018-05-16 14:57:02
331
原创 JNI基础学习笔记--字符串处理
首页需要理解的相关概念java内部是使用16bit的unicode编码(UTF-16)来表示字符串的,无论中文英文都是2字节;jni内部是使用UTF-8编码来表示字符串的,UTF-8是变长编码的unicode,一般ascii字符是1字节,中文是3字节;c/c++使用的是原始数据,ascii就是一个字节了,中文一般是GB2312编码,用两个字节来表示一个汉字。在开发中jni提供了如下
2018-05-16 14:56:22
539
原创 JNI基础学习笔记--基本数据类型的传递与返回
基本类型和本地类型对比表:Java类型本地类型说明booleanjboolean无符号,8位bytejbyte无符号,8位charjchar无符号,16位shortjshort有符号,16位intjint有符号,32位longjlong有符号,64位
2018-05-16 14:55:51
788
原创 JNI基础学习笔记--本地代码调试log输出
在jni的c、c++文件输出本地log首先要引入ndk的log.h头文件,文件在ndk目录的 \android-ndk-r13b-windows-x86_64\android-ndk-r13b\platforms\android-24\arch-x86\usr\include\android中。打开头文件可以看到定义了一个枚举的log优先级和具体打印log的方法/* * Android
2018-05-16 14:52:38
557
原创 Kotlin学习笔记之基础语法
1、定义包名 约定俗成,包的定义放置的代码源文件的顶部package com.demo.hellokotlinimport java.util.* // ...这个和Java中定义没什么区别2、定义方法 Java入门时第一个方法就是main方法,而Kotlin main就要简单多了,方法使用关键字fun声明,如下:fun main(args: Array<String>){
2017-06-13 17:15:29
413
原创 Android Studio使用Kotlin开发Android入门
1、安装Android Studio插件 Kotlin插件与Android Studio集成在一起使用还需要等待AS3.0版本的正式发布,当然官网也有3.0的Preview版本。所以在AS3.0版本前的AS就必须安装Kotlin插件才能使用Kotlin进行开发了。 插件安装步骤如下:a、找到AS的 File | Settings | Plugins | Install JetBr
2017-06-08 18:24:24
1248
原创 Android Studio 2.3使用CMake方式NDK入门
参考官网:https://developer.android.com/studio/projects/add-native-code.html#new-project使用CMake需要搭配使用android Studio 2.2或更高版本,Android Plugin for Gradle版本 2.2.0或更高版本下载 NDK 和构建工具要为您的应用编译和调试原生代
2017-04-01 18:34:07
5747
原创 Java多线程之信号量(Semaphore)的使用
Semaphore是什么? Semaphore是Java提供的同步对象类,实现了经典的信号量,信号量是通过计数器控制对共享资源的访问。如果计数器大于0,允许访问资源,为0则拒绝访问。计数器计数允许共享资源的许可证,所以要访问资源线程必须保证获取信号量的许可证。通常,要使用信号量需要去访问共享资源的线程得尝试取得许可证,如果信号量的计算器大于0,就说明线程取得了许可证,这会导
2017-03-21 16:37:13
690
原创 解决升级Android Studio 2.3重启后一直refreshing gradle project
前两天Android Studio 2.3正式发布,新版本更新了一些新特性,包括对WebP支持的更新,ConstraintLayout库支持更新和布局编辑器的部件面板。提供一个新的App Link助手可以帮助你在应用中构建URI的统一视图。新的运行按钮提供更直观和可靠的立即运行体验。最后是Android模拟器的测试,支持文本的复制和粘贴。为了尝试使用下ConstraintLayout,
2017-03-08 17:14:11
1641
原创 TabLayout横屏TabLayout.MODE_FIXED失效
最近做一个平板项目使用到TabLayout默认为横屏,设置TabLayout.MODE_FIXED发现TabItem还是没有填满屏幕而是居中显示,原来需要设置app:tabMaxWidth="0dp"<android.support.design.widget.TabLayout android:id="@+id/school_tab" android:layout
2017-03-02 17:08:21
2630
1
原创 Android搜索TextView显示关键字标红(忽略大小写)
项目中搜索功能需要将搜索结果的中的关键字进行标红,但是如果遇到搜索内容中的英文字母,大小写就不好处理了。以下是解决方法: /** * 搜索关键字标红 * @param title * @param keyword * @return */ public static String matcherSearchTitle(String title,String
2014-03-13 11:43:42
3893
转载 Objective-C : #define 用法解析
在 C 语言中,预处理代码 (Preprocessor) 是非常强大的工具,能让你的代码变得更加易读和易改。利用预处理代码,你可以重新定义代码的一部分,使得你的代码更适合你的风格。预处理代码 (Preprocessor) 在代码编译之前被提前处理。预处理代码均由一个井号 (#) 打头。1. 关于 #define#define 声明主要用于将常量(或字符串)赋予有意义的名字,比如当你在编
2013-09-23 10:54:43
1180
原创 xcode4.3 "/usr/include/sqlite3.h" file not found
在xcode4.3中导入sqlite3方法:1、点击你的工程名字 ,在右方的TARGET内选择Build Phases标签,在Link Binary With Libraries内点击+加号,搜索libsqlite3.dylib,即将sqlite3库文件添加至工程中。2、代码中引入使用: , xcode 4.1 以前都是 "/usr/include/sqlite3.h"在x
2013-09-05 21:18:05
1627
转载 Objective-C笔试题
原文转至:http://hi.baidu.com/mingus/item/3ceac739e9db91f6e6bb7abe1.Objective-C中,与alloc语义相反的方法是dealloc还是release?与retain语义相反的方法是dealloc还是release,为什么?需要与alloc配对使用的方法是dealloc还是release,为什么?答:alloc与deal
2013-08-30 17:57:19
633
转载 ios内存管理
原文转至:http://blog.youkuaiyun.com/weiwangchao_/article/details/73761891. 内存管理原则(引用计数) IOS的对象都继承于NSObject, 该对象有一个方法:retainCount ,内存引用计数。 引用计数在很多技术都用到: window下的COM组件,多线程的信号量,读写锁,思想都一样。 (一般
2013-08-30 10:47:12
792
翻译 XCode4.3创建第一个ios入门项目,翻译至官方教程(四)
为用户的姓名添加一个属性用户的姓名由一个字符串保存着,首先要为该字符串声明一个属性,这样你的代码才能引用它。请将此声明添加到视图控制器的头文件中(即 HelloWorldViewController.h)。属性声明是一个指令,它会告诉编译器如何为变量生成存取方法(Access method),例如这里的用来保存用户姓名的变量。(完成添加属性声明之后,你会学到什么是存取方法。)
2013-08-27 13:33:06
1070
翻译 XCode4.3创建第一个ios入门项目,翻译至官方教程(三)
Xcode 提供了一个对象库,方便将对象添加到故事板文件。其中,有些是用户界面元素,属于视图类,比如按钮、文本框等;其他的是更高等级的对象,比如视图控制器、手势识别器等。Hello World View Controller 场景已经包含了一个视图,现在你只需要再添加一个按钮、一个标签和一个文本框就可以了。然后你需要将这些部件和视图控制器类连接起来,这样它们才能够按你需要的方式行事。
2013-08-27 13:04:17
1317
翻译 XCode4.3创建第一个ios入门项目,翻译至官方教程(二)
使用检视器来检视视图控制器当一个应用启动时,就会加载主故事板文件,并创建一个初始视图控制器的实例。初始视图控制器管理着用户运行应用时看到的第一个场景。由于 Single View 模板只提供一个视图控制器,它也就自然成为初始视图控制器。你可以利用 Xcode 检视器(Inspector)来观察视图控制器的状态等相关信息。如何打开检视器…在工程导航栏点选 Main
2013-08-27 12:03:50
1221
翻译 XCode4.3创建第一个ios入门项目,翻译至官方教程(一)
苹果官方的教程还是很适合ios新手开发的,https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/RoadMapiOS/chapters/JumpRightIn.html网上有翻译但是图片都显示不出来,特意将图片贴上以方便ios新手参考。本文文字内容转至:http://www.cnblog
2013-08-27 11:47:49
1616
原创 ListView与GridView的item中使用ImageView的android:scaleType属性失效问题
在项目中遇到一个很奇怪的问题使用ListView与GridView时,需要将ImageView中的图片填充控件,使用android:scaleType="fitXY"尽然没有任何反应。代码如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=
2013-08-15 18:58:33
2001
原创 Android报错 Attempted to access a cursor after it has been closed.的解决方法
Android在读取相册图片的时候,报错如下:08-06 12:13:14.044: ERROR/AndroidRuntime java.lang.RuntimeException: Unable to resume activity {com.ttl.ui/com.ttl.ui.ShowImgActivity}: android.database.StaleDataException: At
2013-08-06 12:18:54
5378
转载 android 打开各种文件(setDataAndType)
ava代码 /** * 打开文件 * @param file */ private void openFile(File file){ Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //设置intent的Action属性
2013-08-04 23:35:02
962
转载 在ubuntu上eclipse 3.7无法安装ADT问题的解决
eclipse3.7 安装ADT问题: Cannot complete the install because one or more required items could not be found. Software being installed: Android Development Tools 14.0.0.v201110171935-205994 (com.androi
2012-07-16 11:41:53
941
转载 Linux下Android ADB驱动安装详解
概述最近由于内置的合作商比较多,本人使用的Ubuntu系统好多厂商的Android手机都无法正确的识别,经过一番折腾,和查阅SDK,现把Linux下ADB驱动配置的方法和当中会遇到的相关问题的解决方法整理出来贡献给大家。Linux下使用手机USB调试模式连接ADB进行Android程序的调试,配置驱动没有Windows来的直观。具体步骤首先确认手机连接上电脑,lsusb查看下设备记
2012-06-25 15:09:12
673
转载 用 Eclipse 插件提高代码质量
开发软件时,我的主要目标之一是:要么防止将缺陷引入代码库,要么限制缺陷的生存期;换言之,要尽早找到缺陷。很显然,越是了解如何编写更好的代码以及如何有效测试软件,就越能及早地捕捉到缺陷。我也很想要一张能发现潜在缺陷的安全之网。在本系列 八月份 的那期文章中,我得出了这样的结论:将检验工具集成到构建过程(例如,使用 Ant 或 Maven)中,能够建立起一种寻找潜在缺陷的方法。尽管这种方法使一
2012-06-15 16:06:15
848
原创 Dialog自定义Style
要将dialog的 title,白色边框等,去掉的话,可以使用style。 在style文件中加入 dialog样式 @nulltruefalsetrue@android:color/black@nullfalse 将自定义的样式加入到dialog中。Dialog dialog = new Dialog(SetActivity.this, R.s
2011-12-04 00:05:51
1487
转载 Android文件上传下载
Android要实现文件上传,可以利用Socket上传,也可以模拟Web进行上传,但是如果是使用第一种方式上传,严格的话就得使用TCP,这样容易生成系统死掉,或者是长时间等待,如果是UDP来传,就容易造成数据丢失,因此在这里选择了Web进行上传,使用Web进行上传是模拟的Http Post上传数据,当然,Post上传数据的类,在网上找了一找,方式虽然很多,但是没有一个感觉是我所使用的,所以参照原理
2011-11-30 17:01:25
4547
转载 Android权限大全
android.permission.ACCESS_CHECKIN_PROPERTIES Allows read/write access to the "properties" table in the checkin database, to change values that get uploaded允许读写访问 "properties"表在checkin数据库中,改值可以修改
2011-10-26 22:20:22
708
转载 ListView快速滚动加首字母提示
转载:http://marshal.easymorse.com/archives/3934main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2011-10-14 09:42:23
1424
原创 Android通知管理(NotificationManager)的使用,包括震动,led闪屏
在android开发中经常要使用到通知,比如:收到短息,来电等等,通知是应用程序提醒用户的一种方式,他不需要使用Activity。通知向用户传递信息有多种方式:(1)状态栏图标 (2)扩展的通知状态绘制器 (3)声音、震动、LED闪烁通过一个小例子将上面几种方式集成到一
2011-09-21 23:15:14
13296
2
原创 Android之TabHost的几种使用方法
1,Activity要继承TabActivity,使用LayoutInflater方式来初始化布局文件。 main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res
2011-07-29 16:10:59
2048
原创 在android中使用SOAP与webservice进行数据交互
因为项目中需要使用SOAP与服务器进行数据的交互,于是做了一个非常简单的例子来熟悉SOAP与WebService间的通信。 首先需要在项目中导入KSOAP基于android版本的jar包 ksoap2-android-assembly-2.5.4-jar-with-dependencies.jar 在android中的代码实现: //1, 指定WebService
2011-07-27 15:59:26
7230
原创 为SeekBar滑块设置固定值以及自定义Seekbar,progressbar样式
最近在项目中使用到了seekbar和progressbar,且必须按照设计要求来进行设置,如下图。要实现这个效果就必须对这两个控件进行自定义。 一,SeekBar 一开始要实现这个效果参考网上的自定义方法根本无法达到这个效果,没办法只能投机取巧了。 1,背景刻度的图片我
2011-07-15 15:28:30
18221
原创 Android自定义控件及按下效果
在应用程序开发中,经常要对android控件进行自定义来实现界面的风格统一,对网上的资源进行搜索整理如下: 自定义EditText 一, 通过改变背景图片来实现EditText的自定义 (1) 在drawable里添加my_edittext.xml 代码如下: 注:正常状态时背景图片为edit,而
2011-06-17 11:26:00
3955
1
转载 java中将汉字转为拼音
<br />import java.io.UnsupportedEncodingException;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Set;public class CnToSpell { private static LinkedHashMap spellMap = null; static { if (spellMap == null) {
2011-05-23 14:42:00
1116
1
转载 android 支持宽屏
<br /><?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="myb.x2.app2" android:versionCode="1" android:versionName="1.0"> <application android:icon=
2011-04-11 11:09:00
694
原创 反编译apk文件
dex2jar工具进行反编译首先要下载两个东西:dex2jar:http://code.google.com/p/dex2jar/downloads/listJdGUI:http://java.decompiler.free.fr/?q=jdgui (反编译Jar包,查看Jar包
2011-03-17 10:23:00
916
原创 如何为外贸网站选择一个安全稳定的网站空间?
随着网络的发展,通过网络做国际贸易的企业及个人越来越多!外贸网站在作企业或SOHO个人的外贸过程中扮演者重要的角色,外贸网站在客户电脑上能否打开、打开速度等都决定于所选择的网站空间。 该如何选择一个优秀的外贸网站空间呢?我们以美国空间为例。 1、我们要知道自己网站属于什么类型站点。一般的企业网站,不需要多少资源及附加功能,一般1G以下容量已经足够了。而网络商店,要有大容量,同
2011-02-16 12:31:00
1767
原创 tomcat死机原因
<br /> 公司服务系统蹦掉了好几次,因为是个遗留系统,有没有留下开发文档,代码已经很乱了。一直没时间去找原因,只是简单的清理了下重启了tomcat,老板就这问题也说了好几次,要求找出原因。昨天新的一年开工了,首要任务就是解决这个问题。<br /> 想想无非就那么几个地放出问题。硬件问题?虽说公司服务器比较烂吧也不至于跑不起这个系统,可以排除。一开始没有第一时间去看tomcat的日志,就去检查是不是数据库connection没有close,看看都关闭了,只是大部分地方没有关闭ResultSet和St
2011-02-12 17:05:00
4123
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人