- 博客(30)
- 资源 (1)
- 收藏
- 关注
原创 Java子类对象的实例化过程
对于许多Java老手来说,子类对象的实例化过程也不见得非常清楚,你可能并不需要完全 了解子类对象的实例化过程,但了解后还是有好处的。 对象中的成员变量的初始化是按下述步骤进行的: 1).分配成员变量的存储空间并进行默认的初始化,就是用new 关键字产生对象后,对类中 的成员变量按第三章的表3.1中的对应关系对对象中的成员变量进行初始化赋值。 2).绑定构造方法参数,就是new Person
2016-05-26 00:12:04 650
原创 JDK 1.7 1.8 新特性
JDK 7大部分的修改都是为方便程序员,简化书写,提高阅读性。1.支持将整数类型用二进制来表示,用0b或0B开头。 byte b = 0b111;//7 short s= (short) 0b0111111111111111;//32767 int i=0B11111; long l=0b000011110001;2.你可能会有这样的烦恼,不能一下子看出一个长的整数的位数,或者像上面那个二进制
2016-04-18 20:53:01 1111
原创 XMPP协议简单学习
基本概念XMPP(Extensible Messaging and Presence Protocol) 可扩展消息和展示协议,是一种以XML为基础的开放式实时通信协议,它将需要实时通信的消息嵌入到XML结构体当中,不仅具有很好的可扩展性,还拥有较强的可读性。优点: - 开放性 公开,有很多已实现的开源库 - 标准性 IM(它只限于文本数据,专注于消息传输,而不是考虑图片传输。即时通
2016-04-10 23:09:03 476
原创 JNI学习三(基本使用)
前面两篇熟悉了AndroidStudio中的Jni开发流程,今天开始初步学习jni的相关知识。先来看一下本地函数的组成:JNIEXPORT jint JNICALL Java_com_pngfi_jnidemo_CUseJava_callAdd (JNIEnv *env, jobject this)JNIEXPORT和JNICALL这两个宏(被定义在jni.h)确保这个函数在本地库
2016-03-29 16:32:51 625
原创 JNI学习一(AndroidStudio NDK环境配置)
AndroidStudio版本:1.5.1开篇不多说废话,本文主要分两部分:ndk的安装与配置jni在androidstudio的demondk的安装与配置1.下载ndk,打开File->Setting,然后搜索sdk,如图所示,在System Settings 目录下选择Android SDK,然后选择SDK Tools,勾选上NDK并下载,这里我已经安装好了 2.配置ndk目录,选择Fi
2016-03-28 12:46:18 1990
原创 JNI学习二之(C源码中Log输出及常见错误)
了解jniJNI 即Java Native Interface ,Java本机接口。可以实现Java和C/C++之间的相互调用。 为什么使用JNI? 扩展了Java虚拟机的能力,C语言可以进行驱动开发,比如wifi共享热点的驱动 Native code执行效率比较快,数学运算,实时渲染游戏,音视频处理等。Java的内存回收是基于算法的,不受程序员的控制,而C语言的内存回收由程序员负责。 C
2016-03-26 21:13:51 2222
翻译 greenDao学习
项目地址为:https://github.com/greenrobot/greenDAO简介greenDao是一个对象关系映射(ORM)工具,给关系型数据库SQLite提供面向对象接口。如下图所示: greenDao是怎么产生数据库对象代码的呢?需要建一个Java工程来产生代码,然后把产生的代码给我们的Android工程使用。当然这两个工程都需要响应的依赖。在github的greenDao项目说明
2016-03-16 16:02:54 2828
原创 Android support design库的bug
最近写界面时候遇到几个小bug,大概界面如下 1.当CollapsingToolbarLayout 和 SwipeRefreshLayout配合使用时候,当Toolbar完全收缩,再往下拉时候不能将Toolbar展开,而只能触发SwipeRefreshLayout的下拉刷新。 解决1:不知为何谷歌在 support library 23.1.1 时候解决了这个bug,但在其后的版本中又
2016-03-14 15:24:31 940
原创 华为真机调试设置输出log
拨号界面输入##2846579##进入测试模式,点击工程菜单,后选择后台设置,进入了之后,选择log设置,打开log开关
2016-03-04 19:56:02 3524
原创 华为EMUI4.0 基于android 6.0的bug
今天在做一个闹钟方面的测试时候,在模拟器上总是能测试成功,但是在坑爹的华为手机上不知为何总是失败。 代码如下:fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent int
2016-03-04 19:25:56 2405 2
原创 Android属性动画
逐帧动画:将一个完整的动画拆分成一张张单独的图片,然后再将它们连贯起来进行播放 补间动画:对View进行一系列的动画操作,包括淡入淡出、缩放、平移、旋转四种补间动画的缺陷:只能够实现移动、缩放、旋转和淡入淡出这四种动画操作只能对View进行操作只是改变了View的显示效果而已,而不会真正去改变View的属性Android 3.0引入的属性动画机制已经不再是针对于View来设计的了,也不限定
2016-02-27 16:02:20 318
原创 AIDL
在Android中每一个应用程序独自拥有一个虚拟机,应用程序之间没法直接进行通信。跨进程如何通通信? 1.两个进程无法直接通信 2.通过Android系统底层间接通信AIDL:Android Interface Definition Language IPC:interprocess communication 进程间通信AIDL IPC 多个应用程序 多线程 Binder 只有IPC
2016-02-26 11:33:10 252
原创 Android apk加壳知识点相关博客
解读ClassLoader[ APK加壳详解和demo ](http://blog.csdn.net/pvlking/article/details/42168233)Dex文件结构 Android APK加壳技术方案【1】
2016-02-21 17:50:25 441
原创 cache line 对程序性能的影响
http://igoro.com/archive/gallery-of-processor-cache-effects/
2016-01-10 20:57:39 513
原创 C/C++常识
1.局部变量和数组在内存栈结构中的分配细节#include <stdio.h>#define ARRAY_SIZE 10void natural_numbers(void) { int i; int array[ARRAY_SIZE]; i = 1; while (i <= ARRAY_SIZE) { array[i] = i - 1;
2015-12-17 00:31:43 553
原创 Android关于连接需要Portal认证的WIFI
前言有时候会遇到个很蛋疼的问题,访问网络时候代码的逻辑时若果当前网络连接就访问,否则就不访问。这时候如果不想在具体的代码逻辑中添加一些判断的话,遇到手机连接到需要认证登陆的wifi的情况就吃屎了。这种需要登陆的wifi一般就是在我们发任何一个HTTP请求时候重定向到它的登录界面。这时候我想知道我是不是连接到了这样的wifi该怎么呢?其实Google提供了关于HttpURLConnection在这种情
2015-12-04 20:36:14 8363
原创 Android UI中的一些小问题
给LinearLayout添加点击selector背景 我们有时候会有这样的需求,比如以下的图片其中数字需要动态改变,我选择使用LinearLayout来实现这样一个按钮把,但是这时候我想添加selector 作为LinearLayout的backound,但是发现点击时候不会有效果,这时候怎么解决呢?只要给LinearLayout添加这样的属性即可android:clickable="true
2015-11-09 00:48:49 360
原创 WebView遇到<pre>不正常显示
写一个小显示博文的小Demo,用WebView来实现,发现很奇怪的问题,就是代码显示成一行,你特么逗我呢,正好我用的Jsuop来爬网页,就很容易解决了用</br>标签替换<pre>标签内的换行符,并且把<pre>标签换成<p> 标签,代码如下Elements preElems = content.select("pre"); for (Element pre : preElems)
2015-11-07 02:38:15 806
原创 SSD6 Exercise1 深入分析
题目Take Assessment: Exercise 1: Decoding LabDecoding Lab: Understanding a Secret MessageYou have just intercepted an encoded message. The message is a sequence of bits which reads as follows in hexadeci
2015-11-04 21:55:57 5499 2
原创 连续声明的几个int型变量内存地址不连续
其实这里得变量只是指局部变量#include <stdio.h>int g1 = 0,g2 = 0,g3 = 0;int main(){ static int s1 = 0,s2 = 0, s3 = 0; int l1 = 0, l2 = 0,l3 = 0; printf("0x%08x\n",&l1); printf("0x%08x\n",&l2); pr
2015-11-04 12:50:10 3839
原创 Jsoup获取网页源代码不一致的问题
我用狐火浏览器抓取csdn咨讯文章的网页源码,发现得到的结果和在浏览器中看到的不一样。开始我的代码为:Document doc = Jsoup.connect("http://www.csdn.net/article/2015-10-21/2825979").get();后来想到要模拟浏览器的行为,于是查看请求头,添加”User-Agent”请求头,这样得到的源码和网页上的是一样的,最好也添加一些
2015-10-22 23:33:34 3358
原创 JavaCC的基本使用
扯一下.jj文件的构成与基本语法主要由四部分构成options{}部分:这个部分对产生的语法分析器的特性进行说明,例如向前看的token的个数(用来解除冲突)。这一部分是可以省略的,因为每一个选项都有默认值,当我们没有对某个选项进行说明时,它就采用默认值。也可以把这些选项作为javacc命令的参数来启动javacc,可以达到同样的效果。options{ static = tr
2015-10-20 00:16:08 2536
原创 JavaCC 的安装
1.在JavaCC首页http://javacc.java.net/上下载最新版的JavaCC。配置环境变量,在dos命令行里就可以使用了2.这里我们使用第二种,安装eclipse插件的方法 JavaCC eclipse插件:http://sourceforge.net/projects/eclipse-javacc/files/,下载图中红色圈的压缩包打开eclipse,选择Help->Inst
2015-10-16 18:53:23 6725 1
原创 Android studio中几个插件的使用
Android ButterKnife Zelezny 点击File->Settings->Plugin ,输入Android ButterKnife Zelezny,点击下方的Browse respsitories,如图 这里我已经安装好了。你只要点击安装,成功后重启Android Studio。接下来只要在Module的build.gradle文件中添加butterknife依赖就可以了
2015-09-21 23:52:23 595
原创 Android Studio中集成Genymotion模拟器
进入官网http://www.genymotion.net/下载Genymotion,需要先注册用户才能下载。下载时如下图 有免费版和商业版(收费)两种,商业版的功能会比较多。这里我们下载免费版的,点击图中按钮。 跳转到如下界面,可以选择自己的操作系统对应的版本来下载 图中的红色框框中有两个下载链接。这里得说明一下,Genymotion模拟器是运行在VirtualBox上的,Virtu
2015-09-21 22:11:15 931
原创 关于自定义ViewGroup
本文是学习鸿洋大神的博文http://blog.csdn.net/lmj623565791/article/details/38339817之后加深理解。为了真正理解鸿洋大神Demo中每一句代码的作用,进而理解onMeasure和onLayout的职能,以下将重新梳理代码。 @Override public LayoutParams generateLayoutParams(Attribu
2015-09-21 00:16:03 452
原创 Android项目规范
代码包: 基本报名:xxx.xxx.xxx 数据库:db 网络相关:net 常量:constant 服务:service 自定义View:view 工具类:utils Activity和Fragment: ui 广播接收者:recevier 基类:base资源: 只做一套图的话,资源一般放入xhdpi目录下 文件夹color:存放状态改变的颜色 文件夹:drawable
2015-09-14 17:11:32 299
原创 软键盘模式及对布局的影响
在AndroidMnanifest.xml中相应的Activity加上 android:windowSoftInputMode=""有时我们会使用到PopupWindow等,这时需要在java代码中调整setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN| WindowManager.LayoutParams.S
2015-08-21 13:14:55 952
原创 Tomcat数据源的配置和使用
Tomcat 6以后,不推荐在server.xml中进行配置,而是在%Tomcat_Home%\webapps\yourApp\META-INF \context.xml中进行配置。这样就可以在不同的web应用下单独配置连接池了,且Tomcat会自动重载。当然你也可以更改%Tomcat_Home%\conf下的context.xml文件,将所有web应用下的连接池进行统一配置。 1、 新建一个工程
2015-05-30 22:43:13 592
原创 eclipse中Tomcat的配置
选择Window->Preferences->Server->Runtime Environments,弹出如下的菜单,点击Add按钮选择和自己的Tomcat一样的版本,点击Finish在如下的图中点击Browse来指定自己电脑上的Tomcat安装目录,没有安装的话,可以选择Dowload and Install,然后点击Finish接下来在Servers下
2015-05-28 10:00:40 648
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人