开发笔记
2015-09-22 10:04
751 查看
https://m.galaxyclub.cn/?utm_source=Galaxy%20Care%20Banner&utm_medium=Galaxy%20Care%20App&utm_term=Galaxy%20Care%20Banner&utm_campaign=Galaxy%20Care%20App&utm_adgroup=Galaxy%20Care%20KV
1. 颜色值计算
![](https://img-blog.csdn.net/20150923102703495?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2. 逆向助手反编译,apktool, jd-gui,dex2jar-0.0.9.15
3. 设置图片底色: ImageView.setColorFilter()
4. 打log
StackTraceElement st[] = Thread.currentThread().getStackTrace();
for (int i = 0; i < st.length; i++) {
android.util.Log.i("silion", "trace: " + st[i].toString());
}
android.util.Log.i("silion", "--------boundary--------");
5. 卡顿时,连续onClick,同时add多个Fragment
FragmentTransaction.commitAllowingStateLoss();
FragmentManager.executePendingTransactions();
6. 文字带下划线
Strings
Code
7. EditText 去掉下划线
8. String添加文字
9. 判断字符串是否为空(去掉首尾空格)
10. String中的部分文字设置成超链接
a. strings.xml
b. java中实现
11. 隐藏输入法
12. 自定义ListView divider
drawable/divider_listitem.xml
布局
13. Android API Level 8及其以上Android系统提供了为应用程序数据的备份和恢复功能
14. Call requires API level 18 (current min is 14):类似异常解决
![](https://img-blog.csdn.net/20151021152526821?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
15. actionLink to URI
16. 字符串格式化String.format()
res\valuse\strings.xml
17. 定时重复执行 Timer() and TimerTask
18. 字符串编码转换
19.URL编码
20. Cannot merge new index 65539 into a non-jumbo instruction!
21. finished with non-zero exit value 3
22. 获取状态栏高度
23. 设置Gradle
Use default gradle wrapper
![](https://img-blog.csdn.net/20160816100222811?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在Android Studio系列教程一–下载与安装中新建项目成功后会下载Gradle,貌似这个过程不翻墙也是可以下载,但是访问特别慢,建议翻墙下载。那么下载的Gradle到什么地方呢?<
4000
br />
Mac上会默认下载到 **/Users/<用户名>/.gradle/wrapper/dists** 目录
Win平台会默认下载到 C:\Documents and Settings<用户名>.gradle\wrapper\dists 目录
你会看到这个目录下有个 gradle-x.xx-all 的文件夹, 如果下载实在太慢,但是又不想翻墙的话,可以自己手动到Gradle官网下载对应的版本,然后将下载的.zip文件(也可以解压)复制到上述的gradle-x.xx-all 文件夹下,不过还是建议让它直接下载的好。
版本不对错误:
有两种方法解决:
1. 修改gradle-wrapper.properties
![](https://img-blog.csdn.net/20160816100046221?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2.修改build.gradle -- 如果不知道版本,可以新建一个hellowrod查看
![](https://img-blog.csdn.net/20160816100105972?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
24. SDK闪退问题:
修改F:\03_AndroidDev\sdk\tools\android.bat为:
25. 显示布局边界
1. 颜色值计算
2. 逆向助手反编译,apktool, jd-gui,dex2jar-0.0.9.15
3. 设置图片底色: ImageView.setColorFilter()
4. 打log
StackTraceElement st[] = Thread.currentThread().getStackTrace();
for (int i = 0; i < st.length; i++) {
android.util.Log.i("silion", "trace: " + st[i].toString());
}
android.util.Log.i("silion", "--------boundary--------");
5. 卡顿时,连续onClick,同时add多个Fragment
FragmentTransaction.commitAllowingStateLoss();
FragmentManager.executePendingTransactions();
6. 文字带下划线
Strings
<resources> <string name="hello"><u>phone: 1390123456</u></string> <string name="app_name">MyLink</string> </resources>
Code
TextView textView = (TextView)findViewById(R.id.testView); textView.setText(Html.fromHtml("<u>"+"hahaha"+"</u>"));
7. EditText 去掉下划线
android:background="@null"
8. String添加文字
<string name="hello">你好,我是%1$s。</string>
String.format(context.getString(R.id.hello), "silion")
9. 判断字符串是否为空(去掉首尾空格)
TextUtils.isEmpty(string.trim())
10. String中的部分文字设置成超链接
a. strings.xml
<string name="silion_blog">这是<a href = "http://blog.csdn.net/xilove102">silion</a>的博客</string>
b. java中实现
TextView hyperlinkTextView = new TextView(this); hyperlinkTextView.setText(Html.fromHtml(getResources().getString(R.string.silion_blog))); hyperlinkTextView.setMovementMethod(LinkMovementMethod.getInstance());
11. 隐藏输入法
InputMethodManager imm = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE); if (imm != null) { imm.hideSoftInputFromWindow(hyperlinkTextView.getWindowToken(), 0); }
12. 自定义ListView divider
drawable/divider_listitem.xml
<insert xmlns:android=“http://schemas.android.com/apk/res/android" android:insert="0dp"> <shape android:shape="rectangle"> <solid android:color="@color/ca" /> </shape> </insert>
布局
<ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="wrap_content" android:divider="@drawable/divider_listitem" android:dividerHeight="2px" />
13. Android API Level 8及其以上Android系统提供了为应用程序数据的备份和恢复功能
android:allowBackup="true"
14. Call requires API level 18 (current min is 14):类似异常解决
15. actionLink to URI
Log.d(TAG, "performActionLink, actionLink = " + "voc://view/main"); URI uri = null; try { uri = new URI(actionLink.trim()); } catch (URISyntaxException e) { Log.e(TAG, e.getMessage(), e); } if (uri == null) { return; } String scheme = uri.getScheme() != null ? uri.getScheme() : ""; String function = uri.getHost() != null ? uri.getHost() : ""; String path = uri.getPath() != null ? uri.getPath() : ""; if (path.length() > 1) { path = path.substring(1); }
16. 字符串格式化String.format()
res\valuse\strings.xml
<string name="string_format">字符串格式化 数字:%1$d</string>MainFragment.java
titleTextView.setText(String.format(mMainActivity.getString(R.string.string_format), 0));
17. 定时重复执行 Timer() and TimerTask
mViewPagerScrollTimer = new Timer(); mViewPagerScrollTimer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { mHandler.post(new Runnable() { @Override public void run() { int i = mHeaderViewPager.getCurrentItem() + 1; if (i >= mHeaderViewPagerAdapter.getCount()) { i = 0; } android.util.Log.v("slong.liang", "set current item = " + i); mHeaderViewPager.setCurrentItem(i); if (i == 0) { //TODO changeNormalHeaderImage(); } } }); } }, 5000, 5000);
18. 字符串编码转换
new String(str.getBytes("iso8859-1"), "utf-8")
19.URL编码
URLEncode.encode(str, "UTF-8")
20. Cannot merge new index 65539 into a non-jumbo instruction!
:app:dexDebugUnknown source file : UNEXPECTED TOP-LEVEL EXCEPTION: Unknown source file : com.android.dex.DexIndexOverflowException: Cannot merge new index 65539 into a non-jumbo instruction!
defaultConfig { applicationId "com.samsung.android.voc" minSdkVersion 19 targetSdkVersion 23 // Enabling multidex support. multiDexEnabled true }
</pre><pre code_snippet_id="1687924" snippet_file_name="blog_20160518_20_6479886" name="code" class="plain"> dependencies { compile 'com.android.support:multidex:1.0.0' }
21. finished with non-zero exit value 3
FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/openjdk-7u55/bin/java'' finished with non-zero exit value 3
dexOptions { javaMaxHeapSize "4g" }
22. 获取状态栏高度
/** * 用于获取状态栏的高度。 * * @return 返回状态栏高度的像素值。 */ private int getStatusBarHeight() { if (mStatusBarHeight == 0) { try { Class<?> clazz = Class.forName("com.android.internal.R$dimen"); Object object = clazz.newInstance(); Field field = clazz.getField("status_bar_height"); int x = (int) field.get(object); mStatusBarHeight = getResources().getDimensionPixelSize(x); } catch (Exception e) { e.printStackTrace(); } } return 0; }
23. 设置Gradle
Use default gradle wrapper
在Android Studio系列教程一–下载与安装中新建项目成功后会下载Gradle,貌似这个过程不翻墙也是可以下载,但是访问特别慢,建议翻墙下载。那么下载的Gradle到什么地方呢?<
4000
br />
Mac上会默认下载到 **/Users/<用户名>/.gradle/wrapper/dists** 目录
Win平台会默认下载到 C:\Documents and Settings<用户名>.gradle\wrapper\dists 目录
你会看到这个目录下有个 gradle-x.xx-all 的文件夹, 如果下载实在太慢,但是又不想翻墙的话,可以自己手动到Gradle官网下载对应的版本,然后将下载的.zip文件(也可以解压)复制到上述的gradle-x.xx-all 文件夹下,不过还是建议让它直接下载的好。
版本不对错误:
Error:Gradle version 2.2 is required. Current version is 2.10. If using the gradle wrapper, try editing the distributionUrl in D:\05_Workspace\AndroidStudio\zhbj\gradle\wrapper\gradle-wrapper.properties to gradle-2.2-all.zip. Please fix the project's Gradle settings. <a href="createGradleWrapper">Migrate to Gradle wrapper and sync project</a><br><a href="openGradleSettings">Gradle settings</a>
有两种方法解决:
1. 修改gradle-wrapper.properties
2.修改build.gradle -- 如果不知道版本,可以新建一个hellowrod查看
24. SDK闪退问题:
修改F:\03_AndroidDev\sdk\tools\android.bat为:
rem Check we have a valid Java.exe in the path. set java_exe=C:\Program Files\Java\jdk1.8.0_60\bin\java.exe rem call lib\find_java.bat rem if not defined java_exe goto :EOF
25. 显示布局边界
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories