![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
4.3-android笔试与疑难
文章平均质量分 59
笔试与疑难
fei20121106
这个作者很懒,什么都没留下…
展开
-
(4.3.1.2)【项目一】主体框架Fragment中启动Service与notification的使用
创建Service生成notification示例注册Service启动Service创建Servicepublic class MyService extends Service { public static final String TAG = "MyService"; @Override public void onCreate() {原创 2015-07-17 14:00:40 · 2305 阅读 · 0 评论 -
(4.3.2.16)RelativeLayout中最底的View其layout_marginBottom无效
处理一个Dialog,发现RelativeLayout布局下最后一个View的layout_marginBottom会失效.效果图见:解决方法为:在最底的组件后面再加个View吧...这个现象挺特别的,发帖记录一下。xml布局如下:[html] view plain copyxml version="1.0转载 2016-11-18 11:00:47 · 579 阅读 · 0 评论 -
(4.3.2.15)java.io.NotSerializableException
Java.io.NotSerializableException: com.tang.sharedpreferencesdemo.MainActivityW/System.err( 2356): at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1364)W/System.err( 2356):原创 2016-11-18 10:52:30 · 692 阅读 · 0 评论 -
(4.3.2.14)下载网络文件HttpURLConnection.getContentLength()大小为 -1
做一个andriod系统,测试的时候是在android 2.2系统上测试的一切正常,等发布的时候发现个小问题,就是当程序有更新时,需要重新下载APK,为了友好,做了个进度条,但是在 2.2以上的系统中进度条不会走动,部分代码如下: HttpURLConnection conn = (HttpURLConnection)url.openConnection();转载 2016-10-09 15:13:25 · 531 阅读 · 0 评论 -
(4.3.2.12)Android和Java的轻巧Wire协议缓冲器
https://github.com/square/wire转载 2016-07-12 23:24:49 · 1047 阅读 · 0 评论 -
(4.3.2.10)android:descendantFocusability用法简析
开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,可能会发生点击每一个item的时候没有反应,无法获取的焦点。原因多半是由于在你自己定义的Item中存在诸如ImageButton,Button,CheckBox等子控件(也可以说是Button或者C转载 2016-06-04 17:12:27 · 496 阅读 · 0 评论 -
(4.3.2.9)Android HandlerThread 的使用及其Demo
为什么使用HandlerThread在android开发中,一说起线程的使用,很多人马上想到new Thread(){…}.start()这种方式。这样使用当然可以,但是多次使用这种方式,会创建多个匿名线程。使得程序运行起来越来越慢。 因此,可以考虑使用一个Handler来启动一个线程,当该线程不再使用就删除,保证线程不会重复创建。一般会使用Handler handler = new Han原创 2016-06-04 17:03:12 · 651 阅读 · 0 评论 -
(4.3.2.7) 关于onCreate(Bundle savedInstanceState, PersistableBundle persistentState)Activity跳转后显示空白界面
今天在我写demo的时候遇到一个问题,当我加载Activity界面的时候,打出onCreate随手回车,setContentView之后却始终无法显示界面,找遍一切可能出错的地方,最后在这个onCreate方法上面发现了猫腻。系统自动给我提供了这么一个onCreate()。 @Override public void onCreate(Bundle savedInstanceState转载 2016-05-09 15:59:32 · 614 阅读 · 0 评论 -
(4.3.2.8)Permission Denial: starting Intent { cmp=com.xxx.xxx}解决办法
最近工作中遇到一个问题如下,从一个应用(com.intent.test/.MainActivity)启动另一个应用(com.xxx.xxx/.YourActivity)的activity的时候,抛出了如下异常:12-25 09:54:21.755: W/ActivityManager(2773): Permission denied: checkComponentPermiss转载 2016-05-24 18:31:03 · 4155 阅读 · 0 评论 -
(4.3.2.18)PendingItent的第二次会覆盖第一次的intent内容
当我们自己使用Notification在通知栏提示消息时,我们通过点击下拉的消息,来打开app指定的页面,如果需要传递更多信息时,可以通过PendingIntent。在使用中,碰到了一些问题,主要是参数FLAG_CANCEL_CURRENT和FLAG_UPDATE_CURRENT,总结如下:PendingIntent有一个getActivity方法,第一个参数是上下文,没啥好说的,第二个参转载 2016-12-10 15:14:02 · 479 阅读 · 0 评论 -
(4.3.2.20)在activity中的子线程中startActivity异常dispatchCancelPendingInputEvents()' on a null object referen
Exception: Attempt to invoke virtual method 'void android.view.View.dispatchCancelPendingInputEvents()' on a null object referenceandroid.view.ViewGroup.dispatchCancelPendingInputEvents(ViewGroup.java原创 2017-04-19 08:57:07 · 4186 阅读 · 0 评论 -
(4.3.1.18)Fragment重叠问题引发的思考:不保留活动下,关于Fragment 状态的保存和恢复的坑
一前言二原因探寻三自动恢复诱发1 Fragment重叠问题参考文献一、前言最近,在做一个项目。当app启动后,然后使其进入后台进程(按home键),接着使用其它app(用其它app的目的是为了让系统内存不足,然后让系统将我们的app杀死)。当我们的app被系统杀死后,这时候通过任务管理点击我们的app进入应用。这时候问题出现了,app崩溃了,为了不暴露项目,一些项目包名或者类名的信息就省略了原创 2017-12-28 11:29:42 · 1502 阅读 · 0 评论 -
(4.3.2.11)Android前后台判断逻辑和切换回调的实现
需要在用户切换到后台时开启自动签到以及推送,但是在Android API并没有提供开发者监听前台切换的回调函数,所以开发者必须另辟蹊径,自己实现对前台切换监听。 之前的方案让app中所有的activity继承与一个公共的activity(例如:BaseActivity),然后在BaseActivity的onStop()中判断当前程序是否处于后台,这种做法虽然在大部分应用场景有效,但是也存在一些问题:转载 2016-07-25 10:42:17 · 1199 阅读 · 0 评论 -
(4.3.1.17)使用isInEditMode解决可视化编辑器无法识别自定义控件的问题
isInEditMode:Indicates whether this View is currently in edit mode. A View is usually in edit mode when displayed within a developer tool. For instance, if this View is being drawn by a visual u转载 2016-03-24 14:41:50 · 1038 阅读 · 0 评论 -
(4.3.2.23) Compare报错: Comparison method violates its general contract!
背景16号为了统一线上服务器运行环境,将两台服务器的Tomcat6+JDK6升级到Tomcat7+JDK7,本以为很简单的事情,升级后自己验证也没问题,没想到却悲剧了。升级后,过了半小时运营就找过来反馈问题,部分角色无法登陆系统,由于异常日志没有输出,没有找到问题,无奈回滚。今天我们就来说说JDK6升级到JDK7会遇到的坑。本文为了方便搜索,就直接以异常信息作为文章标题了。复现回滚后,转载 2017-09-14 15:11:04 · 397 阅读 · 0 评论 -
(4.3.2.17)Listview || ScrollView嵌套RecyclerView、ListView时解决布局问题
scrollview 嵌套recyclerview 时,recyclerview不显示,这就需要我们自己计算recyclerview的高度,比如:[java] view plain copyViewGroup.LayoutParams mParams = recyclerView.getLayoutParams(); mPa转载 2016-11-24 11:08:30 · 918 阅读 · 0 评论 -
(4.3.3.1) 日志模块CommonLog引入说明
引入说明1. 腾讯Bugly:异常上报1.1 官网腾讯Bugly 腾讯Bugly,为移动开发者提供专业的异常上报,运营统计和内测分发解决方案,帮助开发者快速发现并解决异常,同时掌握产品运营动态,及时跟进用户反馈 异常上报内测分发应用升级 & 热更新应用统计[异常上报: Bugly Android SDK 使用指南] (https://bugly.qq.com/docs/user-gui原创 2016-12-22 20:52:34 · 869 阅读 · 0 评论 -
(4.3.2.22) Android Test自动化测试体系MAT的构建
本篇侧重于简单的描述MAT的概念,期间掺杂些许个人的理解,不正之处欢迎指正一、关于UI自动化测试的闲谈在本篇开篇之处,我觉得还是很有必要强调下UI自动化测试的概念,只有理解概念之后才能对要做什么、能做什么有一个清晰的认知,也可以更自然地了解本文所阐述的内容。1.1 什么是UI自动化测试通常意义上,软件开发过程中的测试方式可以分为以下三个层面:原创 2017-06-27 17:47:36 · 705 阅读 · 0 评论 -
(4.3.2.21) 卡在Releasing lock on daemon addresses registry.
gradlew assembleDebug --debug[DEBUG] [org.gradle.launcher.daemon.server.Daemon] DaemonExpirationPeriodicCheck running[DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared原创 2017-05-08 15:34:23 · 6128 阅读 · 1 评论 -
(4.3.2.6)ScrollView内嵌套ListView时禁止ListView的滚动
ScrollView内嵌套ListView时不知道为什么ListView高度很小只能显示一行数据,网上有说是因为ScrollView和ListView之间冲突导致的禁止ListView的滚动事件时可以解决该问题,只让ScrollView可以滚动。自定义ListView,xml布局文件中使用该自定义的ListView[java] view plain copy转载 2016-04-26 16:02:19 · 799 阅读 · 0 评论 -
(4.3.2.5)EditText限制输入字符类型的几种方式
最近的项目上需要限制EditText输入字符的类型,就把可以实现这个功能的方法整理了一下:1、第一种方式是通过EditText的inputType来实现,可以通过xml或者java文件来设置。假如我要设置为显示密码的形式,可以像下面这样设置:在xml中, android:inputType="textPassword"在java文件中,可以用 myEditText.转载 2016-04-26 15:17:22 · 610 阅读 · 0 评论 -
(4.3.1.8)【项目一】子fragment之imageloader
private void initimageloader() { // imageLoader.init(ImageLoaderConfiguration.createDefault(mActivity)); // TODO Auto-generated method stub // 使用DisplayImageOptions.Builder()创建D原创 2015-07-17 14:40:23 · 523 阅读 · 0 评论 -
(4.3.1.9)【项目一】跳转对话框+异步任务
package com.android.yunshi.dialog;import com.android.yunshi.util.WSError;import android.app.Activity;import android.app.ProgressDialog;import android.content.DialogInterface;import android.content.原创 2015-07-17 14:42:30 · 602 阅读 · 0 评论 -
(4.3.1.7)【项目一】子Fragment之对话框
public static void ShowCodingDialog(Context context) { // TODO Auto-generated method stub ImageView imageView = new ImageView(context); imageView.setLayoutParams(new LayoutParam原创 2015-07-17 14:36:41 · 475 阅读 · 0 评论 -
(4.3.1.4)【项目一】子Fragment之空FragmentPage1
import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class FragmentPage1 extends Fragment原创 2015-07-17 14:10:09 · 499 阅读 · 0 评论 -
(4.3.1.3)【项目一】主体框架Fragment中Selector的使用与自定义button-shape
创建selector部分需要设置可以被click自定义button-shape创建selector<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/yuns原创 2015-07-17 14:08:32 · 869 阅读 · 0 评论 -
(4.3.1.6)【项目一】子Fragment之ViewPager和FragmentPagerAdapter
创建FragmentPagerAdapter2调用适配器设置pager监听创建FragmentPagerAdapterpublic class NewsFragmentPagerAdapter extends FragmentPagerAdapter { private ArrayList<Fragment> fragments; private FragmentManager原创 2015-07-17 14:35:08 · 596 阅读 · 0 评论 -
(4.3.1.1)【项目一】主体框架FragmentActivity+FragmentTabHost
XML布局加入Fragment对应布局加入FragmentTabHost对应布局程序代码1继承extends FragmentActivity2变量初始化Fragment的Class与name3FindView找到FragmentTabHost对应元素4装填FragmentTabHost7重载tabhost的点击函数实现最左右按钮弹出slidingmenu6程序中设置默认值frag原创 2015-07-17 12:02:01 · 891 阅读 · 0 评论 -
(4.3.1.5)【项目一】子Fragment之NineGong和自定义的异步任务
Frament的主体include 布局静态fragment 日期静态fragment NineGong自定义的异步任务Frament的主体public class FragmentPage2 extends Fragment implements View.OnClickListener { @Override public View onCreateView(Layout原创 2015-07-17 14:23:36 · 599 阅读 · 0 评论 -
(4.3.1.10)文字随按压事件变色
遇到一个问题,如何让文字随着按压事件自动变色,尽量不使用程序控制drawable/yunshi_jiugong_wenzi_yanse_hunlian.xml colors.xml中 #E61478 @color/white #F39800 @color/white #6FBA原创 2015-08-30 17:13:43 · 645 阅读 · 0 评论 -
(4.3.1.11)微信扫描二维码无法下载apk文件解决办法
最近客户网站扫描二维码下载apk的功能不能用了,客户反应扫描二维码后是一片空白,本以为是文件丢失,可是服务器上面文件位置都是正常的,后来才发现是因为腾讯屏蔽掉了外部文件的链接,经过几次不断的尝试,发现有两种可行的解决办法,给大家分享一下。1、把文件上传到应用宝上,然后把下载链接生成二维码。2、制作一个页面,在页面上面添加js代码,让浏览器自动加载apk文件,这种只有通过浏览器扫描才有效原创 2015-09-11 11:03:26 · 4201 阅读 · 0 评论 -
(4.3.2.4) %1$s %1$d Android string
1、整型,比如“我今年23岁了”,这个23是整型的。在string.xml中可以这样写,我今年%1$d岁了 在程序中,使用 [java] view plain copyString sAgeFormat = getResources().getString(R.string.old); String sFinalAge转载 2016-04-26 15:15:11 · 655 阅读 · 0 评论 -
(4.3.2.3)Android ListView收缩与展开的封装实现
常有这种需求,即ListView中数据较多(不涉及分页),如果都展开,数据量较多,体验不好,所以需要提供用户查看更多、收缩数据的交互截图如下:如图所示,点击更多,则展开所有数据。点击收起,则自动收缩。代码如下(主要通过继承Adapetr,控制展示的数据量getCount()方法实现,当数据量大于默认值(2)时,自动只展示2条数据,当点击更多时,则展示全部数据):转载 2016-04-26 15:11:11 · 715 阅读 · 0 评论 -
(4.3.2.2)ListView 动态设置高度问题
今天开发遇到一个问题,就是当动态插入ListView数据的时候,由于之前ListView的高度已经固定死了,所以显示不完整的数据,并且底部显示黑边。如图:而我希望这个ListView可以动态的改变高度:当时第一个想到的解决办法就是在setAdapter之后去重新修改ListView的高度,但是发现设置match_parent或wrap_content转载 2016-04-26 15:08:50 · 711 阅读 · 0 评论 -
(4.3.2.1)Android ListView点击展开收起效果(一)
【声明】此文出自指尖飞落的博客:http://blog.csdn.net/huntersnail公司的项目是社区购物商城(o2o),大量的需要用到ListView的各种效果,ListView展开收起、头部(Head)和子部(Item)这种结构的ListView,特别是第二种用得最多。写过很多次了,在这里写记录一下自己的笔记,也希望能帮助到有需要的Coder。一、首先上几种效果:转载 2016-04-26 15:08:01 · 1067 阅读 · 0 评论 -
(4.3.1.15.1)抽屉控件+NavigationLeftFragment的方案修改
原来为:<fragment android:id="@+id/navigation_drawer_old" android:name="com.android.yunshi.fragment.NavigationLeftFragment" android:layout_width="@dimen/n原创 2015-09-13 11:46:11 · 663 阅读 · 0 评论 -
(4.3.1.14)子线程调用Toast报Can't create handler inside ~~~ 错误
今天用子线程调Toast报了一个Can't create handler inside thread that has not calledLooper.prepare()错误。在网上找了找答案,发现两篇文章:【1】http://czhjchina.blog.163.com/blog/static/20027904720123163149186/因为toas转载 2015-09-11 18:03:57 · 512 阅读 · 0 评论 -
(4.3.1.15)android.app.FragmentManager 与 android.support.v4.app.FragmentManager带来的若干Error
要注意的是fragment其实是有两个版本的,一个是import android.support.v4.app.Fragment; 另外一个是import android.app.Fragment; 这两个版本的fragment是不会兼容的。也就是说要不就全用fragment,要不就全用v4 fragment,不能混搭着用。在这里我强烈建议初学者用第转载 2015-09-11 18:56:08 · 1239 阅读 · 0 评论 -
(4.3.2.24) Android前后台切换监听的再进化
一、综述二、onStop生命周期中检测代码当前运行在前台的进程不是我们自己的进程三、onStart和onStop方法中用变量count计数四、结论Android框架自身并未提供前后台监听的解决方案,但是在应用诸多使用场景中又的确需要进行前后台判断,譬如客户端需要在用户切到到后台时开启自动签到以及推送。王俊峰于2016年7月份提出了一份《Android 前台切换监听新的实现...原创 2018-03-15 15:35:24 · 346 阅读 · 0 评论