
Android学习
kevinlinkai
编程经验4年+
安卓经验2年+
2人小团队 经验丰富 责任心强 能力过硬 希望长期合作
展开
-
Toast重复显示问题 自学使用
对于Toast的重复显示问题,寻求到两种方法第一种 参考百度地图API中ItemizedOverlayDemo(稍作修改)public class MyToast{ private static Context context = null; private static Toast mToast = null; public static Toast转载 2013-06-18 13:56:15 · 636 阅读 · 0 评论 -
JSONException: java.lang.String cannot be converted to JSONObject
安卓开发,解析JSON数据时,巧遇此问题。ru原创 2014-07-31 14:45:31 · 1281 阅读 · 1 评论 -
友盟 Android SDK v4.0 SSO登录、分享事件
最近应项目原因用到友盟组件she'hu原创 2014-08-21 09:17:11 · 1230 阅读 · 0 评论 -
android 应用图标大小
LDPI (Low Density Screen,120 DPI),其图标大小为 36 x 36 px。MDPI (Medium Density Screen, 160 DPI),其图标大小为 48 x 48 px。HDPI (High Density Screen, 240 DPI),其图标大小为 72 x 72 px。xhdpi (Extra-high density screen原创 2014-08-21 15:54:39 · 970 阅读 · 0 评论 -
the zipalign tool was not found in the sdk
最近弄环境头疼得很。打包时候遇到一个问题:the zipalign tool was not found in the sdk主要问题是没有在sdk的tools目录中发现zipalign工具。但我的目录中有改该工具。为了节省时间 决定直接采用命令行 运行zipalign。代码如下:zipalign -v 4 in.apk out.apk等待完成即原创 2015-01-07 12:12:29 · 2882 阅读 · 0 评论 -
解决首次安装时点击“打开”与点击应用图标开启应用冲突
问题描述:在打包好apk,安装完成系统会让选择“完成”还是“打开”。点击“打开”后,系统会开启应用,随意跳转了几个界面后,通过手机上“home”键回到桌面。再通过应用图标开启应用时,出现了问题:启动的并不是之前运行的应用,而是重新开启了一个新的应用。解决方法:在应用启动Activity的onCreat()中加入以下代码即可,亲测有效哦~if ((getIntent(原创 2015-04-28 17:08:46 · 837 阅读 · 0 评论 -
Android中布局优化总结
1、<include> <merge> <viewStub>标签2、FrameLayout>RelationLayout>LinearLayout3、LinearLayout中少用layout_weight参数4、布局中减少Layout层次嵌套和不必要节点,代码中减少不必要的infalte(e.g. 局部变量->全局变量)5、用TextView代替TextView+ImageView的组合(实用drawableTop属性等)6、首次不需要显示使用的节点设置android:visibili原创 2015-04-28 16:54:16 · 746 阅读 · 0 评论 -
MAC上添加ADB环境变量
1、启动终端2、进入当前用户的HOME目录下,输入CD $HOME3、打开.bash_profile,输入open -e .bash_profiletip:如果没有.bash_profile,请先创建,输入touch .bash_profile4、在打开的文本中,写入SDK的platform-tools和tools路径,如export PATH=${原创 2016-03-31 17:36:32 · 647 阅读 · 0 评论 -
Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.
更新了最新的Android Studio预览版之后,运行程序。发现弹出了一个ErrorInstant Run requires 'Tools | Android | Enable ADB integration' to be enabled.google了一下之后,找到了解决办法。菜单栏,Tools -> Adnroid -> enable ADB integration在运行就o原创 2016-03-21 17:17:45 · 19609 阅读 · 5 评论 -
通过wifi连接手机adb调试
1、检测ADB是否连上:USB连接手机,输入adb devices成功会出现:List of devices attached12345678 devicetip:ADB需要进入到你的sdk/platform-toolsd/目录下执行,或者把ADB命令添加到环境变量后直接执行2、将机器上的ADB端口切换为网络模式,输入adb tcpip 5555tip:555原创 2016-03-31 17:15:51 · 997 阅读 · 0 评论 -
Android透明状态栏和底部操作栏(附图)
代码方法:在setContentView()前面加上以下代码。if(VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | WindowMan原创 2016-05-24 13:52:01 · 4381 阅读 · 0 评论 -
android DatePickerDialog被取消后仍然会执行onDateSet方法的解决
开发遇到系统如标题的问题原因很好找:1、在Dialog被取消的时候会调用onStop方法2、onStop的方法中出了关闭Dialog之前还是调用了onDateSet方法3、So,自定义一个Dialog继承与DatePickerDialog4、去掉onStop中的super.onStop();方法关键代码: class DateDialog extends Da原创 2016-07-14 18:08:32 · 832 阅读 · 0 评论 -
Edittext不可编辑可点击 & 解决Edittext第二次点击才有效
问题1:Edittext不可编辑可点击1、Edittext在新的api里已经把editable功能标记deprecated。2、但是如果设置enabled为false的话,点击事件也无效了。3、设置focusable也没什么效果。。。解决1:设置setKeyListener(null)方法1、给Edittext设置setKeyListener(null); 禁止弹出输入法2原创 2016-07-14 17:51:20 · 9084 阅读 · 0 评论 -
EditText的inputType类型设置
Constant中的内容可以直接在xml文件中写入,但是在代码中设置的话。。。请务必写Description中的参数。ConstantValueDescriptiondate0x00000014For entering a date. Corresponds to TYPE_CLASS_DATETIME |TYPE_DATETIME_原创 2016-07-18 10:17:59 · 1069 阅读 · 0 评论 -
Android 6的MAC获取
问题:Android 6.0的手机无法通过低版本的Mac地址获取方式获取Mac地址WifiInfo.getMacAddress() 或者 BluetoothAdapter.getAddress()原因:由于安全方面的原因,Google在Android 6.0以后的SDK中将上述两个方法的返回值修改为了固定的“02:00:00:00:00:00”但是可以从NetworkInter原创 2016-08-09 14:02:33 · 2120 阅读 · 0 评论 -
尝试Android的毛玻璃(Blur)效果
最近项目中遇到了毛玻璃效果,实现过程中在github上查了很多代码。看过一些方法的实现,大多都是需要一张图片,一个ImageView。由于项目的限制,我需要像苹果系统那样,把整个屏幕都变成毛玻璃效果,因此筛选之后实现了整理一下逻辑:1、获取屏幕View2、将View转换为Bitmapprivate Bitmap view2Bitmap(View v) { int原创 2017-10-27 16:33:06 · 8033 阅读 · 2 评论 -
又经历了一次拍照与选相册的洗礼
最近使用到了拍照与相册选图。从4.4到6.0,再到7.0,Google关于系统权限与文件安全方面做了几次大的变动。因此特别让Android猿媛们苦恼,没有一个全兼容的API,只能手动兼容每个版本。当然Github上也有很多奆奆们的轮子可以使用,但是考虑到项目大小的问题,还是选择自己手动实现。在此描述两个容易忽视的问题:1、照片翻转问题由于硬件缘故,从相册或相机中获取原创 2017-10-27 18:02:47 · 374 阅读 · 0 评论 -
Now Launching Native Debug Session Attention! No symbol directories found - please check your native
用Android Studio 3.0已经有一段时间了今天在调试JNI的时候出现了无法调试的情况报错如标题所示Now Launching Native Debug SessionAttention! No symbol directories found - please check your native debug configurationWTF!前一分钟还能调试。原创 2017-11-24 18:20:31 · 4787 阅读 · 3 评论 -
Android中 Webview中js与Activity的交互
项目中遇到需要webview与activity的交互原创 2014-05-24 19:18:22 · 2275 阅读 · 0 评论 -
mac os x如何在eclipse中阅读jdk源代码
一、下载mac中自带的jdk并不包含源代码,所以在eclipse中无法查看, 需要到apple上去下载,https://developer.apple.com/downloads/index.actionDocumentation and developer runtime of "Java for OS X 2013-005". Contains JavaDoc, tools doc转载 2014-03-25 11:37:40 · 1460 阅读 · 0 评论 -
MediaRecorder与MediaPlayer步骤
MediaRecorder音频录制步骤:1 创建MediaRecorder对象MediaRecorder mr=new MediaRecorder();2 设置录音的来源mr.setAudioSource(MediaRecorder.AudioSource.MIC);//一般使用麦克风3 设置输出格式mr.setOutputFormat(MediaReco原创 2013-06-20 15:35:23 · 1542 阅读 · 0 评论 -
火星坐标转换成百度坐标
static final double x_pi = 3.14159265358979324 * 3000.0 / 180.0;public static class Pos {public double lat;public double lon;}public static Pos bd_encrypt(Pos pos) {;Pos result = new Pos(); d转载 2013-08-20 17:56:43 · 1063 阅读 · 0 评论 -
java.io.IOException: setDataSource failed.: status=0x800000
java.io.IOException: setDataSource failed.: status=0x80000000做网络视频播放的时候 出现了这个问题查了一下 说是 网络权限没有申明在manifest中添加 好了 没有问题了原创 2013-08-21 11:58:04 · 2868 阅读 · 0 评论 -
Android Activity 全屏 横/竖屏
Activity全屏设置方式1:AndroidManifest.xml方式2:代码实现requestWindowFeature(Window.FEATURE_NO_TITLE); // 隐藏标题栏getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.转载 2013-08-02 12:03:17 · 699 阅读 · 0 评论 -
切换横竖屏幕是的数据保存与传递
import android.app.Activity;import android.os.Bundle;import android.util.Log; public class HandlerActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState)转载 2013-08-26 14:15:29 · 710 阅读 · 0 评论 -
Activity启动模式
Activity启动模式设置: 在Manifest中加入launchModeActivity的四种启动模式: 1. standard 模式启动模式,每次激活Activity时都会创建Activity,并放入任务栈中。 2. singleTop转载 2013-08-15 09:13:59 · 540 阅读 · 0 评论 -
MD5、SHA-1加密技术初探
今天学习了一下 加密技术查了查发现 原来Java已经自带了 MessageDigest 类 /** * @param key * * @param algorithm * MD2、MD5、SHA-1、SHA-256、SHA-384、SHA-512 * * @return String (MD5:32位, SHA-1:40位)原创 2013-08-29 18:11:07 · 806 阅读 · 0 评论 -
ListView中Button的点击事件
相信很多像我一样的初学者在用listview时会遇到类似:item中如果有button的时候 这个item中button的点击事件与listview中item点击事件 的响应不能同时满足稍微研究了一会 学习到一个解决方案:1、在item的xml布局文件的 根布局标签中加入android:descendantFocusability="blocksDescendants"原创 2013-09-02 10:54:18 · 1006 阅读 · 0 评论 -
android 按两次返回键 退出程序
既然想实现 按两次返回键 退出程序有两个关键词一个是 “返回键”,再一个是“退出程序”1)先说“退出”退出相信大家都会finish(); System.exit(0);为了确保不出现问题,两种退出都写上。2)再来说说“返回键”需要获得硬件上的按键响应onKeyDown(int keyCode,KeyEvent event)然后分别作判断 ke原创 2013-09-05 16:29:46 · 885 阅读 · 0 评论 -
关于finish的startActivity
假设现在已经按顺序打开了 A、B、C、D 四个Activity,现在在D中。1、启动B(新的),关闭D、C和B(旧的)。Intent intent = new Intent(this, B.class);intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); A、B、C、D 变成 A原创 2013-11-07 10:42:00 · 2269 阅读 · 0 评论 -
java 字符型日期时间比较大小
import java.util.Date;import java.text.SimpleDateFormat;Date nowdate=new Date(); //取得当前时间String string4Date = "2013-11-26 11:20";//需要比较的字符串时间SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/d原创 2013-11-26 11:29:48 · 1684 阅读 · 0 评论 -
android添加google日历活动
// 获取要出入的gmail账户的idString calId = "";Cursor userCursor = getContentResolver().query( Uri.parse(calanderURL), null, null, null, null);if (userCursor.getCount() > 0) { userCursor.moveToFirst(); ca原创 2013-11-26 17:02:55 · 1879 阅读 · 0 评论 -
android:imeOptions 控制软键盘右下角按键
调用软键盘输入时 发现有的软键盘右下角的字是“回车”箭头,有的是“完成”等等文字,并且有点击功能于是乎 学习了一下 一、布局文件中加入 imeOptionsandroid:imeOptions="actionDone" //右下角按键“完成”android:imeOptions="actionGo" //右下角按键“开始”android:imeOptions="acti原创 2013-10-28 14:58:06 · 1533 阅读 · 0 评论 -
android——彻底关闭——应用程序
原文http://263229365.iteye.com/blog/12839141. finish()方法该方法可以结束当前 Activity2. killProcess通过调用 android.os.Process 的相关方法,结束 Appandroid.os.Process.killProcess(android.os.Process.myPid());转载 2014-02-15 16:53:23 · 956 阅读 · 0 评论 -
推荐几个android 学习与应用 网站
开源中国:http://www.oschina.net/android云代码:http://yuncode.net/list/android猪八戒:http://search.zhubajie.com/main/all?kw=androidCSTO:http://www.csto.com/project/list前两个网站 学习代码与解决、分享问原创 2013-08-21 09:33:29 · 1053 阅读 · 0 评论 -
android 播放 优酷视频
一、注册优酷开放平台账号二、创建应用,获取 client_id 与 client_secret三、播放器代码讲解(详见URL:http://open.youku.com/tools)提示:ie下要有才能显示正常如果播放器不能显示,请给播放器外层增加宽度和高度样式 player = new YKU.Player('youkuplayer',{原创 2014-03-28 21:49:06 · 6442 阅读 · 0 评论 -
TextView添加下划线、拨打电话
添加下划线TextView txt = new TextView(this);txt.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);// 下划线拨打电话1 )先在Manifest里面添加 “直接拨打电话号码” 权限2)在代码中添加IntentIntent phoneIntent = new Intent(原创 2013-09-05 15:47:53 · 1107 阅读 · 0 评论 -
调用OpenSSL报错:libcrypto.a(armcap.o):armcap.c:undefined reference to 'sigfillset'
在调用OpenSSL的某些函数的时候,编译后报错如下:FAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':app:externalNativeBuildDebug'.> Build command failed. Error while executing pr...原创 2018-03-09 09:45:21 · 3650 阅读 · 0 评论