- 博客(39)
- 收藏
- 关注
原创 软件设计六大原则
单一职责原则:一个类应该是一组相关性很高的函数,数据的封装。开闭原则:对于功能扩展是开放的,对于修改是封闭的。里斯替换原则:子类可以替换基类,继承必须确保超类所拥有的性质在子类中仍然成立。依赖倒置原则:高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。,抽象不应该依赖于具体,具体应该依赖于抽象。接口隔离原则:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建...
2019-04-29 15:28:21
337
原创 android 项目开发中遇到app主题无法指向style
今天换了主机,将原来代码迁移到新的主机上,通过移动硬盘开,不知道为何出现部分class乱码的问题,通过github实现代码移植,直接打开出现app无法运行,类似app主题要加Base的这种问题,在清单文件中发现,app主题无法指向style,解决方法,close project,删除project打开记录,重新打开就可以了。...
2018-08-19 14:55:16
371
原创 2018年Android面试整理
Android 知识复习Activity 的生命周期onStart和onResume,onStop和OnPause ,对用户的实质不同onStart 对应onStop 这个过程是用户是否可见onResume对应onPause 这个过程是否在前台activity启动模式standard,singleTop,singleTask,singInstancestandard:...
2018-07-20 16:34:39
507
原创 Android 选择图片或视频 ,循环播放
项目要求对本地图片或者视频进行轮播,功能实现完成后发现只是在模拟器上运行ok,后来发现是文件路径的原因。文件uri的头部有两种一种是以file开头一种是以content开头要进行判断转化实现如下:视频 点击吊起文件查看: private void setVideoPath() { Intent intent = new Intent(Intent.ACTION_
2017-10-23 12:03:35
1538
原创 app切换到后台,点击图标快速启动
项目中发现切换到后台,点击图标,加载比较慢。在网上找到解决方法。第一步:找到入口activity,设置其为standard。第二步:在你的app的AndroidManifest.xml文件的application标签下面设置: android:persistent="true"持久化为 true;防止你的app挂后台被回收。第三步:在activity1的o
2017-07-17 17:40:17
1167
原创 Android activity平移跳转
在anim文件夹中添加两个xml文件文件in_from_right.xml:<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator"> <translate andr
2017-07-12 13:56:09
510
原创 OpenGL ES绘图
自己学习练手。1.在配置文件中添加如下代码 <uses-feature android:glEsVersion="0x00020000" android:required="true" /> 2.定义简单的surfaceviewclass MySurfaceView extends GLSurfaceView { p
2017-07-11 15:00:53
271
原创 editText软键盘,挤屏,关闭
软键盘关闭: InputMethodManager imm = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(editText.getWindowToken(), 0) ; 软件盘挤屏解决在配置文
2017-07-03 10:00:01
188
原创 TextView,Button 等设置 setCompoundDrawables 无效
项目中遇到在代码中设置textview设置图标不显示的问题,后来知道图标必须setBounds viewHolder.idTvTitle.setText(MainStone); Drawable dra = getResources().getDrawable(R.drawable.icon_add2); dra.
2017-06-26 17:13:40
595
原创 当scrollview 遇到gridview,listview产生的坑
项目中常用到scrollview中包含viewpager与gridview或者listview,就会产生一些问题,如scrollview 中嵌套listview,结果只显示不全,后来发现要固定铲毒,就自定义listview重写onMeasute protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
2017-06-21 10:31:08
174
原创 转屏及数据保存
在项目开发中要求转屏,并保存数据。记录一下实现过程。 private void changeOrientation() { if (!isLandscape) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); isLandscape
2017-05-10 15:28:46
169
原创 理解矩阵相乘
比如乘法AB一、1)用A的第1行各个数与B的第1列各个数对应相乘后加起来,就是乘法结果中第1行第1列的数;2)用A的第1行各个数与B的第2列各个数对应相乘后加起来,就是乘法结果中第1行第2列的数;3)用A的第1行各个数与B的第3列各个数对应相乘后加起来,就是乘法结果中第1行第3列的数;依次进行,(直到)用A的第1行各个数与B的第末列各个数对应相乘后加起来,就是乘法结果中第1行第
2017-04-13 11:27:17
247
原创 java中将String转化为date,并进行比较
运用场景:获取时间String,将其在日历中显示出来,提交时判断开始日期和结算日期,结束日期不能早于开始日期。 /** * 将yyyy-MM-dd string转化为date * * @param st * @return */ public Date dateFromString(String st) { Date
2017-04-11 16:36:53
940
原创 颜色渐变滚动Textview
public class FlashTextView extends android.support.v7.widget.AppCompatTextView { private Paint mPaint; private int mViewWidth; private LinearGradient mLinearGradient; private Matrix mG
2017-03-27 17:29:35
313
转载 Android Studio ADB响应失败解决方法
首页 > 程序开发 > 移动开发 > Android > 正文 Android Studio ADB响应失败解决方法 2015-01-17 1 个评论 来源:Sharon要学术 收藏 我要投稿
2017-03-27 11:18:26
349
原创 Android知识回顾之对话框
Android中常常需要弹出对话框,点击外面,对话框不会消失。做个小小的记录。 AlertDialog.Builder builder = new AlertDialog.Builder(SearchOrderMainActivity.this) .setTitle("提示")
2017-03-27 11:05:11
203
原创 Hierarchy Viewer使用详解
android studio中有可是查看视图结构的工具Hierarchy Viewer,如何使用它呢?由于我的手机没有root,所以我使用第三方的工具类ViewServer使用方式:1.在项目的build.gradlellprojects { repositories { jcenter() maven { url 'https://jitpac
2017-03-22 15:44:03
387
原创 RadioGroup中添加RadioButton
今天开发中,要动态添加RadioButton,每个RadioButton之间要有一定距离,开始使用LinearLayout,LayoutParams,发现无效,后来找到解决方法了,so easy: RadioButton rb = new RadioButton(this); RadioGroup.LayoutParams params = new RadioGroup.La
2017-03-17 16:28:17
497
原创 ScrollView ViewPager嵌套导致滑动冲突解决方案
开发是遇到类似淘宝产品介绍的界面存在srollView也ViewPager滑动冲突的问题,用户体验不好。于是对srollView做了自定义控件,解决了该问题,处理思想:如果滑动左右滑动大于上下滑动,在OnInterceptTouchEvent中直接return false,将处理交给viewPager.public class MyScrollView extends Scro
2017-03-17 11:00:04
291
原创 2017年android面试总结
1.android的四大组件 activity:一个activity通常是一个单独的窗口,activity通过Intent进行通信,每个activity都要在AndroidMainfest.xml配置文件中声明。 service:(1)service用于在后台完成用户指定的操作。service分为两种:(a).started(启动):当应用组件(如activity)调用st
2017-02-18 18:40:28
303
原创 排序算法
冒泡排序:比较相邻的两个元素,如果第一个比第二个大,就交换他们两个。一遍循环下去,最后的元素就是最大的值,最大的沉了下去,依次直到,沉到第一个。 算法代码:public static void bubblesort(int[] s){ for(int i = 0;i <s.length;i++){ for(int j = 0;j<s.length-i-1;j++){ if(
2017-02-13 16:51:19
202
转载 指定浏览器打开网站
1 Intent intent=new Intent(Intent.ACTION_VIEW);2 Uri uri=Url.parse("http://www.map1000.com");3 intent.setData(url);4 intent.setClassName("com.tencent.mtt","com.tentcent.mtt.MainActivity");5 startActiv
2017-02-10 10:49:14
650
原创 Android知识回顾之动画
Android的动画分成三种:view动画,帧动画,属性动画,严格上说帧动画也是属于view动画的。view动画的四种变化对应着Animation的四个子类:TranslateAnimation(平移动画),ScaleAnimation(缩放动画),RotateAnimation(旋转动画),AlphaAnimation(透明度动画)。帧动画是顺序播放一组预先定义好的图片,类似电影播放。
2017-02-10 09:56:58
167
原创 android知识回顾之view工作流程
view的工作流程主要是指measure,layout,draw这三大流程,即测量,布局和绘制,其中measure确定View的测量宽/高,layout确定view的最终宽/高和四个顶点的位置,而draw将view绘制到屏幕上。 measure方法是一个final类型的方法,即子类不能够重写此方法,在view的measure方法中会调用view的onMeasure方法, protecte
2017-02-10 08:57:18
191
原创 android知识回顾之播放
方法1:Intent intent = new Intent(Intent.ACTION_VIEW);Uri uri = Uri.parse("file:///storage/emulated/0/1234.mp4");Log.v("URI:::::",uri.toString());intent.setDataAndType(uri,"video/*");startActivity(in
2017-02-09 18:04:02
178
原创 Android知识回顾之事件分发机制
点击事件的分发过程由三个很重要的方法来共同完成:dispatchTouchEvent,onInterceptTouchEvent和onTouchEvent, dispathchTouchEvent用来进行事件的分发,如果事件可以传递给当前view,那么此方法一定会被调用,返回结果受到当前view的onTouchEvent和下级View的dispatchTouchEvent方法的影
2017-02-09 15:38:06
188
原创 EditText设置只能输入小数点后1位
//edittext设置监听product_cost_price_edit.addTextChangedListener(new MyTextWatcher(product_cost_price_edit));class MyTextWatcher implements TextWatcher { EditText et; public MyTextWatcher(EditText e
2016-12-17 15:56:28
938
原创 activity-生命周期
activity是android系统提供的四大组件之一,今天,我整理一下activity的生命周期。谈到生命周期当然就要谈到其对应的七个函数,以用户是否可见,是否可操作划分的话如下图:如果按照activity流程的话,如下图:这些都是了解activity的常识了,从创建activity调用onCreate()->onStart()->onResume(),此时activity已
2016-11-07 10:11:20
161
原创 android-context
了解context,首先先看看它的继承关系,context是上下文的意思,我接触的最多就是在适配器中调用从activity或Fragment中传过来的context,Toast的第一个参数,启动activity,弹出对话框等等。用法我想大家都应该很熟悉了,我觉得要注意的就是context要区分一下是继承自ContextWrapper的还是ContextThemeWrapper,传递错误会让你想要引
2016-11-05 15:30:10
175
原创 2016-Android知识整理之Application
工作一年多,近期打算重新整理一下android知识,今天就从Application开始.Application 是什么? Application是和activity一样也是一个系统组件,一个app可以有多个activity,service,但是只会有一个Application,当android程序启动时,系统会创建一个application,用来存储系统的一些信息,application 继承
2016-11-03 20:22:17
206
原创 android中 Scollview包裹listview问题
在开发中我们不难遇到scollview包裹listview的问题,由于listview高度无法确定,无法给定指定高度,能不能动态的根据listview的item确定长度。/** * 动态设置ListView的高度 * * @param listView */public static void setListViewHeightBasedOnChildren(ListView l
2016-08-08 09:07:30
246
原创 android studio环境下生成jar
1.新建一个类库module。2.在该module环境下的gradle添加如下代码task makeJar(type: Copy) { delete 'build/libs/AndroidPrinterSDK3.0.jar' from('build/intermediates/bundles/release/') into('build/libs/')
2016-06-24 08:46:08
320
原创 listview中EditText,焦点问题
有些控件会自动抢占焦点,如EditText,现在项目要求我实现下面的效果如果只是焦点抢占问题的话,在listview中添加下面一行就可以解决。android:descendantFocusability="beforeDescendants"但是如果要求可以编辑EditText的同时listview也要可以OnItemclickListen也可以生效,这该如何解决?由于
2016-06-07 19:13:57
443
原创 解决android studio debug的时候一直出现waiting for debug的情况
编辑环境换到android studio的,那么怎么解决android studio debug的时候一直出现waiting for debug的情况呢:一: 在Terminal面板中输入如下命令: adb-kill-server adb-start-server。 观察效果。如果还不行,那么采用最常用的方式,二:重启手机,重启电脑,这样重启电脑之后原因是让占用adb的程序不再运行,那
2016-06-07 17:23:15
4673
原创 arraylist 排序
在开发菜单目录时,要求目录是可以灵活变动的,我实现目录是用gridview实现,目录标题是从后端获取的,每一个目录是一个商品种类: { "child_id": [], "id": 5, "image": false, "name": "调料类",
2016-05-27 17:36:14
208
原创 Android中回调函数的使用
使用原因:在Android开发中,由于要在适配器中使用对一些控件的触发监听,如用gridview生成一个键盘,在gridview中的一个item中含有一个button,我要对其监听,当button被按后,将button上的text回传给使用这一适配器的activity。如何实现?1.定义一个接口 2.在activity中实现这一接口并复写这一方法3在
2016-05-27 17:34:54
450
原创 解决Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.
昨日帮同事安装android studio,碰到了“Error running app:Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled. ” 这一问题。解决方法:勾选enable adb intergration 即可。
2016-05-17 08:58:47
590
2
原创 listview 中item 点击无效
listview中item点击事件无效,原来就碰到过,当时解决了,没有记录下来。这次又碰到,决定整理一下。出现这种情况的原因是由于焦点的失去。当item中包含imagebut,checkbox等可以点击组件时,会抢占焦点,导致点击事件无效。解决方法在这些组件中添加下面这条属性就可以了android:focusable="false"
2016-05-14 10:10:00
478
原创 android studio 文件颜色所表示的意义
绿色文件,表示加入版本控制还没有提交。红色文件,未加入版本控制。蓝色,加入,已提交,有改动。白色,加入,已提交,无改动
2016-05-10 12:20:44
459
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人