`
scliu0718
  • 浏览: 51479 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论
文章列表
JNI中方法参数: jstring Java_com_utils_INative_stringFromJNI(JNIEnv* env, jobject thiz, jstring obj) {return (*env)->NewStringUTF(env, "XXX");} 此方法中有三个参数: 第一个env是结构体的函数表-->JavaNativeInterface的接口。 第二个参数thiz区别当前方法为静太方法或者实例方法,当方法是一个实例方法时,则此参数相当于对象本身,即类似this关键字; 当方法为一个静态方法时,thiz将指向所在的类。 第 ...
转自网络。留着它,久了不用老忘掉。运算符 含义 示例 ~ 按位非(NOT) b = ~a & 按位与(AND) c = a & b | 按位或(OR) c = a | b ^ 按位异或(XOR) c = a ^ b >> 右移 b = a >> 2 >>> 右移,左边空出的位以0填充 b = a >>> 2 << 左移 b = a ...
Android.mk文件的写法: ---------- cut here ------------------ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := hello-jni LOCAL_SRC_FILES := hello-jni.c include $(BUILD_SHARED_LIBRARY) ---------- cut here ------------------ 现在,让我们解释一下这几行: LOCAL_PATH := $(call ...
Android中JNI开发环境: 大概分4个步骤: 1. 安装Cygwin,在线安装,安装过程略(注意:安装时除了常用的工具外不要忘了安装make和gcc); 2. 下载NDK,下载完后直接解压即可; 3. 配置环境-->这个很简单。 找到Cygwin目录下,打开home/用户/.bash_profile文件,添加"NDK=/cygdrive/<你的盘符>/<android ndk 目录>", 例如: NDK=/cygdrive/e/android-ndk-r5 export NDK 4. 现在配置就算是完成了,可以 ...
因项目要求需要做类似于维信或Q游这样插件化的开发模式,在网上也查了很多资料整理了一下并记在这里,可用两种方式: 1. 通过后台安装,由于默认的安装是通过PackageInstallActivity界面去执行安装的,此界面有一个Dialog和一个ProcessBar,不能更改,想做些手脚一直没找到方法,所以有了下面这一出。 方法:反射出sdk中的隐匿类PackageInstaller类,然后调用安装方法instatllBatch(String), Class<?> clz = Class.forName("com.android.util.Pack ...
由于默认情况下,动画只针对当前父布局范围中有效,有的时候我们需要在全屏范围中做做飘的效果;实际做法我想应该有两个: 1. 用绝对坐标的方式执行动画 设置动画时设置类型为绝对位置执行。 2. 使用中间控件模拟,此中 ...
JAVA多线程: 1、线程的实现有两种方式,一是继承Thread类,二是实现Runnable接口,但不管怎样,当我们new了这个对象后,线程就进入了初始状态;2、当该对象调用了start()方法,就进入可运行状态;3、进入可运行状态后,当该对象被操作系统选中,获得CPU时间片就会进入运行状态;4、进入
在我们的Android开发中,很多时候都会用到通过取屏幕的大小来确定UI或者其它的用途 在有一些时候,根据不同的机型,通过取屏幕的宽高可以取得的值不正确。(有单位差异和手机厂商不同) 前两天发现在程序中取一个800*480的手机时为533*320,但有的又正常,不知道到底要不要通过“pixs =dips * (density/160)” 来算。如果你也遇到这种问题,可以用以下代码解决:(如果还不行我也不知道了)1. Display display = getWindowManager().getDefaultDisplay();// int height = display.getHe ...
1.这两天搞ant打apk的,到签名apk的时候发现明明签名成功,但是安装时死活提示无数字证书。 同事的机器上签名后可以正常安装,但是在我机器上却不行,最后发现同事JDK版本1.6的,我是1.7的。 最后在网上查了资料解决的办法 ...
public class AnimTest extends Activity{ // ....生命周期方法略 public void startAnim(View view, int deltaY){ MyAnim anim = new MyAnim(view,deltaY,true); anim.setFillAfter(true); anim.setFillEnabled(true); anim.setDuration(500); anim.setAnimationListener(new AnimationListener() { ...
工厂模式在项目中是常常用到的,有人说只有大项目才会用到,小项目是体会不出来.其实使用设计模式与项目的大小没有实质性的联系.设计模式是经验的总结而不是衡量项目大小的标准. 以开发项目的DAO层为例,在项目中客户的需求是常常变动的,临时更换数据库的需求也是常常发生的,那我们要如何解决跨数据库的功能,这里就要使用到抽象工厂模式了.工厂模式常常用于创建多系列化的对象(如Orale系列,MySql系列) 1.首先定义相关接口(与平常的做法没什么区别) Java代码 // 角色表DAO接口 interface IroleDao { void insert(); void upda ...
工厂模式在项目中是常常用到的,有人说只有大项目才会用到,小项目是体会不出来.其实使用设计模式与项目的大小没有实质性的联系.设计模式是经验的总结而不是衡量项目大小的标准. 以开发项目的DAO层为例,在项目中客户的需求是常常变动的,临时更换数据库的需求也是常常发生的,那我们要如何解决跨数据库的功能,这里就要使用到抽象工厂模式了.工厂模式常常用于创建多系列化的对象(如Orale系列,MySql系列) 1.首先定义相关接口(与平常的做法没什么区别) Java代码 // 角色表DAO接口 interface IroleDao { void insert(); void upda ...
一直对链表不太熟悉, 今天看了下并写了下来, 错的地方请指正.(注意:有的地方判断不够严格). package com.test; public class Link {Node root; private class Node{String name ; Node next; public Node(String name){ this.name = name; } public void add(Node node) { if(this.next == null){ this.next = ...
Android中自定义View可以分两种,一种为使用系统提供View来拼成一个想要的View(比如在程序中多次出现同样的view,可以共用,相当于封装吧),另一种为自己直接使用Paint画。 本文是属于第一种,大概可分4个步骤,如果不需要自定义标签属性第一步则可跳过。 代码如下: 1. 写一个attrs:(如果不需要自定义属性则不需要) <declare-styleable name="MyLayoutView"> <attr format="reference" name=&qu ...
今本是AAA(前者)项目要开启一个应用,调用BBB(后者),代码:(intent.setComponent(new ComponentName("com.lius.app","com.lius.app.MainActivity"));startActivity(intent);), 本来一切正常,可是我不想让用户直接进入BBB程序,所以把后者的入口配置(infilter-filter)删除, 结果AAA调BBB抛如下异常“见异常_1”,一直以为是权限问题,后在网上找资料发现如果Activity的 intent-filter 配置改成: &l ...
Global site tag (gtag.js) - Google Analytics