自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 android studio 获取SHA1(指纹)

今天大部分时间都要卡在这里,终于在下午解决了这个问题,心情好开心,鉴于自己的这种经历我决定分享一下解决方法。 我是在用到百度的第三方库的时候需要这个SHA1的,在第一行代码那本书里郭老师介绍了一种特别简单的方法,我第一次就是这么实现的介绍给大家:在Android Studio 的右侧工具栏上有一个Gradle的菜单,点击 Gradle→项目名→:app→Tasks→android 如图所

2017-01-04 16:22:11 2412 1

原创 学习recycleview

RecycleView 也可以实现ListView 的功能并且比listview更加的强大,可是说是listView的增强版,并且Android官方更加推荐使用RecycleView。 基本用法 在gradle 中添加配置文件,这样在引用的时候,才会有提示,否则 RecycleView会显示红色报错 布局文件的代码贴出来: <LinearLayout android

2017-01-04 16:04:11 422

原创 卫星菜单

最近学习了怎么实现卫星菜单。现在来总结一下。 首先,核心思想是先把各个图片摆放到全部展开的位置,主按钮的作用就是隐藏和显示子按钮。 其次,展开的时候设计到动画效果,这里面处理的细节也很多。 最后,让我们来做一个卫星菜单吧。首先创建一个类继承ViewGroup。(因为要画的卫星菜单图里有不止一个view,所以要继承viewGroup),必须覆写它的onlayout()方法(在这个方法里确定每

2016-11-29 20:10:16 325

原创 奇偶位交换

请编写程序交换一个数的二进制的奇数位和偶数位。(使用越少的指令越好) 给定一个int x,请返回交换后的数int。 测试样例: 10 返回:5解题思路 让目标数&055555555,则保留目标数的偶数位,然后再左移(不能右移,因为最低位为0位,右移,最低位的数会被抹去补零,左移第30位到第31位没有信息丢失),同理目标数&0AAAAAAAA,奇数位保留,然后右移移位。之后把前两步的结果

2016-11-28 15:41:38 670

原创 上楼梯---动态规划问题

题目描述: 有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶、3阶。请实现一个方法,计算小孩有多少种上楼的方式。为了防止溢出,请将结果Mod 1000000007 给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100000。 测试样例: 1 返回:1解题思路: 到达最后一节台阶,则有可能从第n-1阶也有可能从n-2阶也有可能从n-3

2016-11-24 11:25:30 1154

转载 快速排序的改进方法

参考:三种改进快排方法 我是看到算法书的课后题,要求改进快排,在线性表中的第一个元素、中间元素和最后元素中选择一个中位数作为主元/** * 关键:该算法在数组中选择一个称为主元的元素,将数组分为两部分; * 每次划分都将主元放在了恰当的位置 * 时间复杂度:O(nlogn) * @param list */ public static voi

2016-11-23 11:24:25 967

原创 单链表排序---直插法

这道题的思路: (1)首先必须维护当前节点的前指针, (2)然后还要维护要插入的位置的前后指针, (3)每个要插入的节点都要从头开始比较。参考代码:public ListNode insertionSortList(ListNode head) { //维护插入位置, ListNode p = head; ListNode q = hea

2016-11-17 14:46:27 583

原创 ObjectAnimation 浅谈(一)

ObjectAnimation 是Android 3.0 以后出现的,之前的桢动画可以实现透明度、旋转、缩放、移动四种变换,前提还只是对View可操作,设想我们自己创建了一个类,也想对它实现一些动画,这样objectAnimation就可以帮到你,此外,3.0之前的动画效果并没有真正使view的内容得到改变。例如你讲一个View(是一个可响应点击事件的)从(0,0)坐标移动到(50,50),然后在(

2016-11-15 21:35:06 1091

原创 对ContentProvider的一点认识

1、ContentProvider 是android的四大组件之一,作用是对外共享数据,就是把自已应用程序里的数据分享给其他应用程序,其他应用可以通过ContentProvider对你应用中的数据进行添删改查。使用ContentProvider对外共享数据的好处是统一了数据的访问方式。 ContentProvider(内容提供者)用于提供数据的统一访问格式,封装底层的具体实现。对于数据的使用者来

2016-11-08 10:30:00 360

原创 檢查是否為BST

题目描述请实现一个函数,检查一棵二叉树是否为二叉查找树。 给定树的根结点指针TreeNode* root,请返回一个bool,代表该树是否为二叉查找树。思路: .已知中序遍历排序二叉查找树,得到的序列应是有序的。所以只要比较中序遍历的前一项和当前项就可以了。 方法一:public boolean checkBST(TreeNode root) { int min =

2016-11-07 11:15:04 301

原创 关于流式布局与热门标签

流式布局特点:当上面一行的空间不够容纳新的View时候, 才开辟下一行的空间。原理图如: 应用场景:一般热门搜索,或者在不指定一行的宽高时用,例如热门标签。 今天我们就来实现热门标签,如图:实现方法: 自定义ViewGroup 1.实现onMeasure() 方法:测量子view的宽和高,设置自己的宽和高 2.实现onLayout()方法:设置子view 的

2016-11-01 20:10:10 323

原创 单层输出节点

题目描述对于一棵二叉树,请设计一个算法,创建含有某一深度上所有结点的链表。 给定二叉树的根结点指针TreeNode* root,以及链表上结点的深度,请返回一个链表ListNode,代表该深度上所有结点的值,请按树上从左往右的顺序链接,保证深度不超过树的高度,树上结点的值为非负整数且不超过100000。**解题思路: 这个题目的意思就是输出二叉树的某一层的所有元素。用递归**public cl

2016-10-27 14:22:07 394

原创 字符串翻转

参考:牛客网难题讨论 题目描述假定我们都知道非常高效的算法来检查一个单词是否为其他字符串的子串。请将这个算法编写成一个函数,给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成,要求只能调用一次检查子串的函数。 给定两个字符串s1,s2,请返回bool值代表s2是否由s1旋转而成。字符串中字符为英文字母和空格,区分大小写,字符串长度小于等于1000。 **解题思路: 以s

2016-10-26 10:15:58 241

原创 双栈排序

题目描述请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中。 给定一个int[] numbers(C++中为vector&ltint>),其中第一个元素为栈顶,请返回排序后的栈。请注意这是一个栈,意味着排序过程中你只能访问到第一个元素。 测试样例: [1,2,3,4,5] 返回:[5,4,3,2,1]**解题思

2016-10-24 14:32:12 244

转载 两个栈实现一个队列的push和pop

**题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。**思路:<分析>: 入队:将元素进栈A 出队:判断栈B是否为空,如果为空,则将栈A中所有元素pop,并push进栈B,栈B出栈; 如果不为空,栈B直接出栈。 用两个队列实现一个栈的功能?要求给出算法和思路!public void push(int node) { stack

2016-10-21 13:51:53 353

原创 链表A+B

声明:此题解题思路转自牛客网论坛,地址:牛客网难题论坛题目描述有两个用链表表示的整数,每个结点包含一个数位。这些数位是反向存放的,也就是个位排在链表的首部。编写函数对这两个整数求和,并用链表形式返回结果。 给定两个链表ListNode* A,ListNode* B,请返回A+B的结果(ListNode*)。 测试样例: {1,2,3},{3,2,1} 返回:{4,4,4}解题思路:本题的思路

2016-10-20 10:57:21 399 1

原创 Android---自定义ViewPager指示器(一)

最近学习了怎么自己画Viewpager指示器的形状。新创建一个ViewPagerIndicator类 继承自LinearLayout初始化Paint实例在它的含有两个参数的构造方法内初始化要画的图形所需要的工具,例如:我们要画一个三角形。首先我们要有一个paint类实例上代码: public ViewPagerIndicator(Context context, AttributeSet attr

2016-10-19 15:50:26 362

原创 学习知乎日报-----day5

1 android 中的sharepreference 的使用 android 中 提供了三种方法用于得到sharepreference对象Context 类中的getSharedPreferences()方法: 这个方法的sharepreference文件放在/data/data//shared_prefs/目录下的。这个方法接受两个参数,第一个参数用于指定文件名,第二个用于指

2016-10-13 17:14:35 218

原创 AIDL -- 小白学习笔记1

AIDL 是Android Interface definition language的缩写,android内部进程通信(IPC)接口的描述语言,通过它我们可以定义进程间的通信接口。具体实现就从一个小例子来说明吧。情景:A进程的UI界面可以显示两个整数进行相加的展示结果,但是不能进行实际运算,B进程可以进行两个整数的运算。所以这里可以用到AIDL完成两个整数的相加,并且显示结果。假设A进程为客户

2016-10-13 16:49:43 217

原创 文章标题

夜间模式关于兼容的问题 Material主题只能5.0(api21)及以上才能使用support-v7提供了兼容支持,在target-api<21上可以建一个res/values-21目录放置属于Material相关的Style

2016-10-10 21:01:28 147

原创 学习知乎日报---day4

自定义ReavlBackground的实现今天应该只是完成了这一部分的学习,还是有些不明白的地方,忘有好心认识可以指教。非常感线伯乐在线上的一篇文章(http://android.jobbole.com/81113/),有兴趣的朋友可以看一下。首先今天要完成的是,切换页面的动画,这个动画属于涟漪状,一般是圆形的,但是如果不喜欢可以任意修改,方法实在自定义的View里重写Ondraw()方法。 实现

2016-09-26 19:10:24 273

原创 学习知乎日报---day3

1. NestedScrollView,CollapsingToolbarLayout,CoordinatorLayout 的配合使用  今天写了两个很相似的页面,都是用到这几个布局。主要是为了实现页面在向上滑的时候隐藏toolbar和不隐藏;还有toolbar的滑动。  首先,为了实现toolbar的滑动用到了CoordinatorLayout作为根节点,里面有一个AppBarLayout,Ap

2016-09-23 16:38:00 239

原创 学习知乎日报--day2

1.ToolBar今天终于又明白了一些ToolBar的使用。非常感谢mChenys的博客,推荐推荐,这个他讲的很详细。我就不多说了。我就把我不太明白,然后看完又明白的部分总结一下。就是在为ToolBar设置一些属性的时候会用到android:layout_height="?attr/actionBarSize"解释一下:?attr/actionBarSize:表示根据屏幕的分辨率采用系统默认的

2016-09-22 17:01:40 261

原创 学习知乎日报客户端--Day1

决定要把每天学习的东西做一下总结,东西有点碎,总结总结,以后看看还是有帮助的。日报主界面的下拉刷新 用的是Google官方提供的SwipeRefreshLayout, 目前阶段对它理解不深,只了解几个属性和用法 1.setOnRefreshListener(SwipeRefreshLayout.OnRefreshListener listener):设置手势滑动监听器。 2.setP

2016-09-22 10:25:50 329

转载 重新认识Activity

1.activity的启动方式 分为直接起动和匿名启动。直接启动 一般用于知道要启动activity的名字 Intent intent = new Intent(MainActivity.this,SecondActivity.class); startActivity(intent); 或者 Intent intent = new Intent();

2016-08-29 16:13:55 326

原创 android 抛出Error:Execution failed for task .....

由于工程需要倒进了很多第三方的*.jar包,然后编译就报了以下错误: 在网上搜了一下,问题解决了,先不深究为什么,等有空了再研究,现在先记录下方法。解决方法就是在moudle 的build.gradle 里添加以下内容:packagingOptions { exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE'

2016-06-16 18:07:06 713

原创 关于listview 的更新问题

最近遇到了一个这样的问题:“` mData = new ArrayList<>(); mAapter = new CheatMessageAdapter(this, mData); mListView.setAdapter(mAapter);// 当我想将数据库中的数据load进list中mData = mManager.loadCheatMessage(); m

2016-06-13 19:36:41 336

原创 android sqlite 插入行计算

最近写了一个存储数据的功能,在一个表内插入多行数据,如果想计算此时是第几行的话可用以下语句:Cursor cursor = cheatOpenHelper.getWritableDatabase() .rawQuery("SELECT COUNT(*) AS NumberOfOrders FROM "

2016-06-13 11:43:00 322

原创 图灵机器人

最近做了一个和机器人聊天的App,还没有全部做完,我先整理出基本的功能,以后慢慢加(此版本为1.0)。 功能: 1.实现网络访问2.可以和机器人进行简单聊天3.在bean包中封装了四个机器人毛毛的回答数据类4.实现聊天记录的存储功能。1.完成网络访问 首先需要第三方库资源,图灵机器人的网址:http://www.tuling123.com/ 可以设置自己的专属机器人。 下

2016-06-02 09:57:13 507

转载 像素翻转

有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于500,图像元素小于等于256。 测试样例: [[1,2,3],[4,5,6],[7,8,9]],3 返回:[[7,4,1],[8,5,2],[9,6,3]]思路:

2016-05-27 15:53:11 248

原创 在Andorid Studio 中导入第三方库

最近由于需要,必须使用第三方*jar包,以前也出现好多回需要导包的情况,当时goole一下解决完问题,过了好久再次出现问题就又回到原点了,所以今天准备写篇日志记录一下,这篇以后还会补充,估计还会遇到别的导入问题。先写一些。 这回要导入的是Google的gson-2.2.3.jar在libs文件夹下将jar包复制粘贴进来然后右键,点击最后一项的Add as library,然后会弹出一个对

2016-05-26 17:01:29 246

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除