
Android
图郅创新
android开发
展开
-
android studio生成签名apk后在手机上安装不了
我的应用在debug时可以正常运行,但是生成签名apk后放到手机里总是安装失败。原因1:在Build菜单下点击Select Build Variant弹出对话框后,看看你的Module的Build Variant是否是release,是debug的话改为release。原因2:你的package的名字是否全部用的小写,用大写的话debug不会出错,但是生成apk在手机安装就会失败,这也是我原创 2015-11-11 12:08:56 · 13026 阅读 · 4 评论 -
android utils
1. 获得某个view在屏幕中的位置int[] location = new int[2];view.getLocationInWindow(location);2. 获得某个view的sizeView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);ViewWidth = mBubbleVie原创 2015-10-31 14:54:02 · 358 阅读 · 0 评论 -
xml只定义的textview如何在java中获得
textview.xml中定义<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center"原创 2015-10-31 19:36:33 · 662 阅读 · 0 评论 -
首次进入带有EditText的activity时不启动软键盘
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);转载 2015-11-13 20:03:25 · 430 阅读 · 0 评论 -
点击屏幕任意区域软键盘消失
/* * 触摸任意地方隐藏如软键盘 */ @Override public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { // 获得当前得到焦点的View,一般情况下就是EditText(特殊情转载 2015-11-13 18:58:25 · 530 阅读 · 0 评论 -
android中drawable与bitmap的相互转化
int arrowRes = R.drawable.bubble_arrow_light;Bitmap source = BitmapFactory.decodeResource(context.getResources(), arrowRes);原创 2015-11-03 11:05:43 · 652 阅读 · 0 评论 -
android opengl es 1.0 draw text
原文链接:点击打开链接Updates:* November 2013 - Added v1.1 of the standard example code, with a small fix to clear vertex array state after drawing.* February 2013 - Added a version that works wit转载 2015-08-19 17:46:42 · 770 阅读 · 0 评论 -
第三方应用使用微博登录授权功能注意事项
1. 申请应用之后,在应用信息的高级信息中填写授权回调页,默认填写https://api.weibo.com/oauth2/default.html。2. android studio导入WeiboSDK之后,要将libs下的.so文件全部导入工程的libs文件夹下,并在应用的build.gradle中加上这段代码,尤其注意:jniLibs.srcDirs = ['libs'],指明了jn原创 2015-09-09 21:15:19 · 2560 阅读 · 0 评论 -
android record
1. Bitmap photo = extras.getParcelable("data");Drawable drawable = new BitmapDrawable(null, photo);2. 在Activity或者组件之前传递信息时,一般采用intent绑定bundle的方式传值,但在使用过程中需要注意的是不要用bundle传递大容量数据,最大1M。用传递Uri方法:/**原创 2015-08-02 15:40:02 · 391 阅读 · 0 评论 -
隐藏软键盘的方法
@Override public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { // 获得当前得到焦点的View,一般情况下就是EditText(特殊情况就是轨迹求或者实体案件会移动焦点) View v = getCurrentFocus(转载 2015-07-21 11:32:33 · 260 阅读 · 0 评论 -
intent.setFlags方法中的参数值含义
原文出处:点击打开链接一. intent.setFlags()方法中的参数值含义:1.FLAG_ACTIVITY_CLEAR_TOP:例如现在的栈情况为:A B C D 。D此时通过intent跳转到B,如果这个intent添加FLAG_ACTIVITY_CLEAR_TOP标记,则栈情况变为:A B。如果没有添加这个标记,则栈情况将会变成:A B C D B。也就是说,如果添加转载 2015-08-26 17:36:02 · 301 阅读 · 0 评论 -
android bug report tools
原文链接:点击打开链接Making a basic Android app is easy. Making a reliable, scalable, and robust Android app, on the other hand, can be quite challenging.With thousands of available devices pu转载 2015-12-16 11:16:05 · 1358 阅读 · 0 评论 -
android判断当前系统的语言
判断国家:中文:getResources().getConfiguration().locale.getCountry().equals("CN")繁体中文: getResources().getConfiguration().locale.getCountry().equals("TW") 英文(英式):getResources().getConfiguration().转载 2015-12-16 19:54:45 · 546 阅读 · 0 评论 -
TozSDK-s2配置文档
Demo下载地址:一、配置Gradle1. 在使用TozSDK模块的build.gradle文件中,添加如下配置:implementation 'com.tozmart:tozmartSDK-s2:1.0.1'2. 完整配置如下(只供参考),详见demo:apply plugin: 'com.android.application'android { com...原创 2018-05-15 14:31:59 · 404 阅读 · 0 评论 -
TozSDK-s1集成文档
Demo下载地址:https://github.com/Eason2Wang/TozSDKDemo-s1一、配置gradle 1. 在使用TozSDK模块的build.gradle中,添加如下配置: implementation 'com.tozmart:tozmartSDK-s1:1.0.9' 2. 完整配置如下(只供参考),详见demo:apply plugin: 'com.an...原创 2018-05-02 09:51:12 · 302 阅读 · 0 评论 -
关于android中shape的使用
Shape Drawable这一类的shape定义在xml中file location:res/drawable/filename.xmlThe filename is used as the resource ID.(这个文件名作为资源id,被当做图片资源使用)compiled resource datatype:(复杂资源的数据类型)Resource poi转载 2017-08-17 13:30:17 · 254 阅读 · 0 评论 -
App被杀掉
Application对象并不是始终在内存中的,它有可能会由于系统内存不足而被杀掉。但Android在你恢复这个应用时并不是重新开始启动这个应用,它会创建一个新的Application对象并且启动上次用户离开时的activity以造成这个app从来没有被kill掉得假象。并且Activity是会重新创建的,调用onCreate方法。原创 2016-02-23 19:58:06 · 659 阅读 · 0 评论 -
android缓存数据到本地
之前一直不知道 sdcard/Android目录什么作用,我做的项目里面缓存数据到本地一般都是在sdcard上面建一个文件,然后把数据放在这个文件夹下面的子文件夹下。下面介绍一种更好的解决方法。应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在SDcard中的。大部分应用是直接在SDCard的根目录下创建一个文件夹,然后把数据保存在该文件夹中。这样当该应转载 2016-03-08 17:52:38 · 497 阅读 · 0 评论 -
shareSDK第三方登录
以下是记录自己项目的开发程度:1. facebook目前可以实现任何账号登陆2. google+需要安装客户端才能实现登陆,未验证3. 微博应用没有通过审核不能使用sso登陆(客户端登录)4. QQ只有通过审核才能开放登陆,否则只能指定账号登陆。转载 2016-02-21 21:57:22 · 318 阅读 · 0 评论 -
View的setOnClickListener的执行速度
对于一个view,如果你设置它的setOnClickListener有两种方法:一种是直接设置findViewById(R.id.view).setOnClickListener(this)。另一种是View view = findViewById(R.id.view);view.setOnClickListener(this)。在我的app中,首次运行app,第二种的原创 2015-12-05 18:17:50 · 366 阅读 · 0 评论 -
腾讯开发平台 手机QQ登录 错误码:110406 解决办法;新浪微博sso错误
1. 腾讯开发平台 手机QQ登录弹出登录授权失败:(错误码:110406)解决办法, 讲qq号加到调试者列表中2. 新浪微博sso错误:由于你的debug版本生成的md5序列号和你的release版本生成的md5序列号是不一样的,所以你在微博开放平台所填的md5也要随你的版本更改。转载 2015-12-02 13:22:12 · 1513 阅读 · 0 评论 -
android 用java布局一个控件
RelativeLayout relativeLayout = (RelativeLayout)findViewById(R.id.improve_layout); ImageView Ititle = new ImageView(ImproveProfileActivity.this); Ititle.setBack原创 2015-08-26 17:03:06 · 504 阅读 · 0 评论 -
opencv在android上的应用
1. Scalar 的赋值用set(double[]);2. Java中将一个变量赋值给另一个变量,如ArrayList outOriginalPoints = new ArrayList(); outOriginalPoints = originKeyPoints;当outOriginalPoints改变时outOriginalPoints.set(0, outHeadTopPoint)原创 2015-05-13 21:33:51 · 433 阅读 · 0 评论 -
android 自定义ImageView实现图片缩放边界回弹和缩小回弹
此代码只适合无title的界面,所以在AndroidManifest.xml文件中作如下修改:<activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoT转载 2015-06-04 12:19:14 · 2740 阅读 · 0 评论 -
OutOfMemoryError
一、内存溢出类型1、java.lang.OutOfMemoryError: PermGen space JVM管理两种类型的内存,堆和非堆。堆是给开发人员用的上面说的就是,是在JVM启动时创建;非堆是留给JVM自己用的,用来存放类的信息的。它和堆不同,运行期内GC不会释放空间。如果web app用了大量的第三方jar或者应用有太多的class文件而恰好MaxPermSize设置较小转载 2015-05-19 20:23:03 · 254 阅读 · 0 评论 -
android的GestureDetector详解
两篇参考文章:http://blog.youkuaiyun.com/xiezhenxiang/article/details/6659506http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1023/453.html为了防止以后网页无效,特此摘录如下:第一篇Android Touch Screen 与传统C转载 2015-06-03 20:18:08 · 374 阅读 · 0 评论 -
Rounded corner bitmaps on Android
原文链接:点击打开链接publicstatic Bitmap getRoundedCornerBitmap(Bitmap bitmap) { Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888); Canvas canva转载 2015-06-23 15:31:32 · 363 阅读 · 0 评论 -
ImageView属性
ImageView属性说明:1、类概述 显示任意图像,例如图标。ImageView类可以加载各种来源的图片(如资源或图片库),需要计算图像的尺寸,比便它可以在其他布局中使用,并提供例如缩放和着色(渲染)各种显示选项。2、XML属性属性名称描述android:adjustViewBounds转载 2015-06-23 16:08:55 · 326 阅读 · 0 评论 -
java中提高代码效率避免OOM的几点注意的地方
1.垃圾收集算法的核心思想 Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象。该机制可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。 垃圾收集算法的核心思想是:对虚拟机可用内存空间,即堆空间中的对象进行识别,如果对象正在被引用,那么称其为存活对象,反之,如果对象不再被转载 2015-06-01 16:15:45 · 1430 阅读 · 0 评论 -
java中如何定义不规则数组
public static void main(String[] args){ //创建和打印不规则二维数组 int arr[ ][ ]; arr=new int[3][];//现在说明为不规则数组 arr[0]=new int[10];//arr[0]转载 2015-06-01 16:11:59 · 2378 阅读 · 0 评论 -
如何在Android中定义容量巨大的数组
原文链接:点击打开链接点击打开链接 点击打开链接避免原文打不开,记录如下:背景:本人因为某Android项目需要,需要在Android中定义一个容量为2万的float数组。这两万个float值已经存在某个文件中。方法:1.直接在Java文件里定义?Java单个函数的长度限制为65535字节(不确定具体数值,但肯定是有限制的转载 2015-06-16 14:49:56 · 1516 阅读 · 0 评论 -
java sort自定义比较的用法
先定义类public class sortContours implements Comparator{ public int compare(MatOfPoint p1, MatOfPoint p2) { return p1.toArray().length - (p2.toArray().length); } }再调用MatOfPoint MP[] = new MatOfPo原创 2015-05-21 14:04:33 · 709 阅读 · 0 评论 -
Android通过Uri获取文件的路径的方法
public static String getRealPathFromURI(Uri contentUri, Context mContext) { String[] proj = { MediaStore.Images.Media.DATA }; CursorLoader loader = new CursorLoader(mContext, contentUri, pro转载 2015-05-07 14:19:09 · 1131 阅读 · 0 评论 -
解决OOM错误的图片压缩方法
Android有时在加载比较大的图片时会报OOM错误,此时需要将图片进行压缩,在此分享一段压缩图片的代码。/** * @description 计算图片的压缩比率 * * @param options 参数 * @param reqWidth 目标的宽度 * @param reqHeight 目标的高度 * @return */转载 2015-05-07 14:26:38 · 512 阅读 · 0 评论 -
Android中postinvalidate和validate的区别
1. Each class which is derived from the View class has the invalidate and the postInvalidate method. If invalidate gets called it tells the system that the current view has changed and it should b转载 2015-06-05 00:59:32 · 629 阅读 · 0 评论 -
onInterceptTouchEvent与OnTouchEvent事件机制
原文链接onInterceptTouchEvent用于拦截touch事件OnTouchEvent 处理touch事件onInterceptTouchEvent主要用于拦截touch事件,当返回值为true时,该事件不向下层view传递,而是本层onTouchEvent中处理touch事件。返回值为false时,事件传递到下层View的onInterceptTouchEv转载 2015-06-05 17:38:22 · 517 阅读 · 0 评论 -
android 通过获得dimens.xml中定义的大小来设置字体的大小
30spbtn.setTextSize(TypedValue.COMPLEX_UNIT_SP, (int) (getResources().getDimension(R.dimen.BtnTextSize) / getResources().getDisplayMetrics().density));注意在getDimension()之后要除以屏幕的dpi才能获得准确值。原创 2015-07-04 22:23:45 · 2381 阅读 · 0 评论 -
android 获取屏幕分辨率
DisplayMetrics dm =getResources().getDisplayMetrics();int imgDisplayW = dm.widthPixels;int imgDisplayH = dm.heightPixels;原创 2015-07-03 22:59:34 · 286 阅读 · 0 评论 -
Android 布局之RelativeLayout
1 RelativeLayout简介RelativeLayout是相对布局。RelativeLayout布局属性1.1 与parent相对的属性android:layout_alignParentTop表示widget的顶部和Container的顶部对齐。android:layout_alignParentBottom表示widget的底转载 2015-07-03 22:25:27 · 291 阅读 · 0 评论 -
android判断edittext是否为空
判断是否为空if("".equals(editText.getText().toString().trim()))上面这行代码的意思是:""代表空,什么都没输入。equals的意思是""跟equals后面括弧里的东西进行对比,如果一样就为空。括弧里的就是实际输入的东西editText.getText()就是取得里面的东西。toString()转化为字符串trim()的意转载 2015-06-11 20:06:04 · 599 阅读 · 0 评论