自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SunShanai的博客

上善若水·虚怀若谷

  • 博客(38)
  • 资源 (4)
  • 收藏
  • 关注

原创 android studio apt代码编写实战

之所以试一下apt代码的编写,是因为发现几年前写的工程,在新的android studio中debug apt代码时,一直连不上debug环境,提示报错解决了两天,未果,推测大概率环境问题,google了一下,发现很多android studio的apt文章都是3~5年前的老工程,于是重新建工程,从头到尾试一下。

2024-05-06 00:58:43 343

原创 ELF文件中的sh_addralign

sh_addralign仅允许使用 0 和 2 的正整数幂,且 0 和 1 表示节没有对齐约束。sh_addr 的值在以 sh_addralign 的值为模数进行取模时,同余数必须等于 0。

2024-04-16 19:49:14 126

原创 git 报错 fatal: protocol error: bad line length character: repo

最后git push 时发现报错 fatal: protocol error: bad line length character: repo。解决方法:在项目的.git隐藏文件夹下,打开config文件,检查url项是否配置正确。新建git仓库,git add . git commit -m "xxx"我是这个url项目配置错了。

2024-04-02 10:19:35 592 1

原创 关于Android SharedPreferences中apply方法源码(awaitCommit )的一点分析

SharedPreferencesImpl.java (建议大家先找一篇系统介绍这个SharedPreferencesImpl源码的博客看一下)apply方法源码:      public void apply() { final MemoryCommitResult mcr = commitToMemory(); final Runn...

2018-04-26 20:08:38 614 2

原创 毕业设计笔记--Ubuntu 14.0.4下Mapbox源码分析1

MapView是整个MapBox的核心,有必要先把MapView研究一下。MapView的initialize方法其中调用了setWillNotDraw(false):自定义View中如果重写了onDraw()即自定义了绘制,那么就应该在构造函数中调用view的setWillNotDraw(false),设置该flag标志。其实默认该标志就是false。MapView的getMapAsync(f

2017-01-19 11:10:17 2286

原创 毕业设计笔记--Ubuntu 14.0.4下使用git对Mapbox进行版本控制

要修改Mapbox Java层的源码进行毕业设计,想到如何进行版本控制,由于是git clone下来的项目,自然想到用git进行版本控制。花了2个小时间学习了一下基本的git知识。记录一下:git clone了以后没必要git init,git init是在本地建立git仓库;常用的git命令有 git add XXX.java,git commit XXX.java -m “更新说明”;注意

2016-12-28 12:46:18 1092

原创 毕业设计笔记--Ubuntu 14.0.4下使用Android Studio编译Mapbox(为以后节省大量时间)

上一篇中在Ubuntu14.0.4下编译了Mapbox,但是这种编译方式要在终端中输入命令,虽然在Android Studio中也提供了一个终端入口方便输入,然后比如在Android Studio中直接编译还是慢了不少,不如像在Windows下那样直接写完代码,然后点击几下,就能编译了。这两天尝试在Android Studio下进行编译Mapbox,终于成功了,在这里记录一下踩过的坑。最重要的问题

2016-12-11 15:17:50 1592

原创 毕业设计笔记--Ubuntu 14.0.4下配置Mapbox编译环境

毕业设计笔记–Ubuntu 14.0.4下配置Mapbox编译环境毕业设计要基于开源地图绘制平台Mapbox来实现一套自己的移动端地图绘制平台,Mapbox是一个全平台的开源产品,PC端的Windows,Linux,Mac OS,移动端的Android,iOS…….全部支持。 Mapbox github上的地址是点此链接在github上的帮助文档已经是非常详细了,这里记录一下,官方帮助说明文档上没

2016-12-05 20:29:49 1412

原创 毕业设计笔记--Ubuntu 14.0.4下配置Android SDK

本人Android开发,毕业设计要在linux下搞,所以安装了Ubuntu14.04,配置Android SDK时 遇到了一些问题,在这里记录一下我的问题:1. 在Android Studio中文社区下载android-sdk_r24.4.1-linux.tgz,命令解压至 /usr/android文件夹sudo tar zxvf android-sdk_r24.4.1-linux.tgz

2016-12-04 14:45:00 594

原创 React Native系列(一)React Native 环境搭建

最近一直忙着找工作,由于本人不是计算机科班出身,加上个人能力不是很突出,找工作并不是很顺利,而且还很艰辛,现在只有一个中小型互联网公司的offer。从8月开始,大大小小的笔试参加了几十场,包括线上和线下,面试参加了也有十余场,终于到了国庆,手里总算有一个不大不小的offer,心里很感恩了,面试过程,也是一个学习的过程,感觉自己还是与其他人有差距的,还是要加强自身学习的,趁着国庆假期,赶紧学习一下新

2016-10-01 17:28:29 1310

原创 广州某硬件厂商(校招做的非常好)面试总结-Android方向

先吐槽一下,今年这个厂的面试安排做的不太好,我从不到10点足足等了3个半小时,一直到1点半才轮到我,直是又累又饿,当然,部分面试官也是没吃饭,也是辛苦了,这个为他们点个赞,明明说好了是11点-12点面的,我提前了一小时去都还排了这么长的队。别的不扯了,直接说题目,刚刚到学校,省的忘记了。首先我分配的面试官人不苟言笑,面试过程氛围一直不太好~~而且面试过程中问的问题特别快,比起我去面腾讯

2016-09-13 18:35:15 760

原创 经典面试题 Http与Https

Http与Https的区别:1. HTTP 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头2. HTTP 是不安全的,而 HTTPS 是安全的3. HTTP 标准端口是80 ,而 HTTPS 的标准端口是4434. 在OSI 网络模型中,HTTP工作于应用层,而HTTPS 工作在传输层5. HTTP 无法加密,而HTTPS 对传输的数据进行加

2016-08-19 21:02:21 9316

原创 关于Android中View滑动知识的一点个人理解

View是Android中重要性不亚于四大组件的存在。今天主要看看Android中关于View滑动的一些小知识点        View的滑动在Android中有三种方式:1.使用scrollTo或scrollBy;2.使用动画;3.改变布局参数(改变LayoutParams)                  下面是一个随手指在屏幕上随意滑动的小例子(Android开发艺术探索

2016-07-24 16:36:08 571

原创 Android自定义ListView(二) - 可上拉加载的ListView(即具有分页功能的ListView)

在我的上一篇博客中(大家感兴趣的可以看一下我的上一篇博客Android自定义ListView(一) - 可下拉刷新的ListView),与大家一起分享了可下拉刷新的ListView,原理还是很简单的,今天与大家一起分享可上拉加载的ListView(即具有分页功能的ListView),我个人感觉这个可上拉加载的ListView,其实现起来比下拉刷新的ListView更加简单,相信如果你已经掌握的可下

2016-06-10 11:54:30 1211

原创 Android自定义ListView(一) - 可下拉刷新的ListView

以前做项目时,下拉刷新的ListView与上拉加载的ListView(或者说是具有分页功能的ListView)经常用到,其中的原理也并不高深,十分简单,今天就来分别实现一下,可下拉刷新的ListView与可上拉加载的ListView。        下面是Android自定义ListView第一个系列--可下拉刷新的ListView。        首先看一下最终效果图:

2016-06-09 22:19:29 2257

原创 Android面试经典 Application的作用

当一个Andriod应用启动的时候,系统会自动帮我们创建一个Application,所以一般情况下,我们不需要手动去创建一个Application,那么Application倒底有什么作用呢,接下来,让我们分析一下:       大家都知道 ,在Java中,当一个变量声明为static后,你不用new,可以在应用的任何时候直接使用这个变量,静态变量是不会被垃圾回收的,其对象会一直保持引用,而在

2016-06-05 18:25:32 938

原创 修改Android文件选择器开源控件aFileChooser 增加多选功能

aFileChooser是github上一款很受好评的android文件选择器,代码写的非常简洁,可扩展性非常好,地址为https://github.com/iPaulPro/aFileChooser,有兴趣的开发都可以下载下来看一下。由于近期做东西要用到文件选择的功能,于是拿下来稍加修改用了一下,主要扩展了以下两个功能:       1.由原来的只能单选变为多选,       2.增加文

2016-05-29 19:16:54 5101 9

原创 git 设置 ssh key

Windows PowerShell版权所有 (C) 2015 Microsoft Corporation。保留所有权利。E:\github\HorizontalScrollView [master +3 ~0 -0 !]>E:\github\HorizontalScrollView [master +3 ~0 -0 !]> cd~/.sshcd~/.ssh : 无法将“c

2016-05-21 22:40:31 2889

原创 仿ViewPager相册(使用HorizontalScrollView)

近期看了一堂某在线IT学习的视频公开课,这里就不说名字了,省的有打广告的嫌疑。讲到了利用HorizontalScrollView仿ViewPager设计的一个简单相册。其实主要用了ViewPager缓存的思想。此篇博客参考http://blog.csdn.net/lmj623565791/article/details/38140505(这篇博客与公开课的讲的大致一样)       这里简单说

2016-05-21 17:36:51 6091 3

原创 Android自定义Dialog实现弹出它的Activity背景变暗,并自定义Dialog的大小

最近项目需要,自定义了一个日期时间选择器,使用到了自已的XML布局,R.layout.XXX,但是运行时发现,它并不像一个Dialo悬浮在Activity上,反而本身就像一个Activity,效果不好,于时百度一下,结果发现,网上并没有完整的解决方案,不过倒是能找到相似的,比如“Dialog弹出后背景不变暗”,于是自已根据众位大牛的博客,找出了解决方法,现奉上完整解决方案:

2016-04-26 20:08:00 4497

转载 ViewHolder模式超简洁写法

ViewHolder是什么就不解释了。大家通常怎么写ViewHolder呢?ViewHolder holder = null;          if(convertView == null){                  convertView = mInflater.inflate(R.layout.xxx null);                  holder = new

2016-04-21 20:01:04 1245

原创 Android startActivityforResult后,onActivityResult立即响应

因为要跳到的Activity配置了android:launchMode="singleTask",将其设置为标准模式即可。

2016-04-11 18:42:12 1117

原创 动态规划经典问题Java实现

//动态规划问题Java实现public class DPProblem { //如果我们有面值为1元、3元和5元的硬币若干枚,如何用最少的硬币凑够11元? public static void main(String[] args) { int[] cons = new int[12]; for (int i = 1; i <= 11; i++)

2016-04-07 12:56:58 5397

原创 Java实现快速排序

public class QuickSort { public static void main(String[] args) { int[] a = { 3, 7, 4, 2, 6, 1, 5 }; quick(a); for (int i = 0; i < a.length; i++) { System.out.

2016-03-26 20:56:38 1783

原创 Android一个自定义的工具条(ViewPager+GridView)(还在改进中~)

最近在做项目的过程中,要用到工具条,网上没有找到很合适的,就自己动手组合定义了一个,感觉还有很大的改进空间。大家先看效果,有需要的朋友可以看看:       下载地址:http://download.csdn.net/detail/sunshanai/9451769 不需要积分

2016-03-03 14:56:58 1301

原创 Android include标签 放置的顺序问题

最近开发项目遇到一个小问题,主界面布局文件,由三部分组成,header,content与foot,这三个部分别是用三个xml文件定义的,其中标题header上有一个button点击事件,是用在xml中绑定的方式定义这个button的click方法的,然而include放置的顺序不对会使这个header标题上的点击事件无效,在这里记一下,以后详细说明具体过程。

2016-02-26 12:50:17 1445

原创 android硬件加速(View.LAYER_TYPE_SOFTWARE)与GridView for ScrollView 显示问题

直奔主题:GridView放在ScrollerView中是无法正常显示的,这个问题网上讨论比较多,大家也都比较清楚,主要做法是自定义一个GridView,如下:package com.ecity.xinao.ui.widget;import android.content.Context;import android.util.AttributeSet;import andro

2015-12-29 15:10:21 4602 2

转载 java 方法覆写与重载原则

方法重载(overload):1.必须是同一个类2方法名(也可以叫函数)一样3参数类型不一样或参数数量不一样方法的重写(override)两同两小一大原则:方法名相同,参数类型相同子类返回类型小于等于父类方法返回类型

2015-12-23 09:32:57 2439

转载 Android 虚线分割线

drawable下新建一个虚线的xml,dash_line.xml<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line" > <stroke android:dashGap="2dp" android:das

2015-12-01 18:51:16 6296

转载 android全屏去掉title栏的多种实现方法

1.实现应用中的所有activity都全屏 在manifest中直接加入 复制代码代码如下:android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 2.实现单个activity全屏 复制代码代码如下:requestWindowFeature(Window.FEATURE_NO_TI

2015-11-26 09:46:26 1574

转载 Android解析XML(PULL方式)和JSON 工作原理和实现过程(详细代码)

PULL 的工作原理: XML pull提供了开始元素和结束元素。当某个元素开始时,可以调用parser.nextText从XML文档中提取所有字符数据。当解析到一个文档结束时,自动生成EndDocument事件。 常用的XML pull的接口和类: XmlPullParser:该解析器是一个在org.xmlpull.v1中定义的解析功能的接口。

2015-11-25 20:29:46 1369

原创 Android AVD 出现No content provider found for permission revoke可能的一种解决方案

11-22 20:48:05.800: D/AndroidRuntime(1332): Calling main entry com.android.commands.pm.Pm11-22 20:48:06.060: W/ActivityManager(377): No content provider found for permission revoke: file:///data/loca

2015-11-23 14:01:08 6462

原创 Java实现简单的二分法查找int数组中的某值

public static int binarySearch(int[] arr, int key,int fromIndex, int endIndex) { int low = fromIndex; int high = endIndex -1; while(low <= high) { int mid = (low + high) / 2; int midVa

2015-06-30 21:41:39 3472

原创 JAVA实现简单的冒泡排序与选择排序

/** * 冒泡排序 * @param arr */ public static void maoPao(int[] arr){ int temp; for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-i-1;j++){ if(arr[j]>arr[j+1]){ temp=arr[j];

2015-06-28 17:18:03 1572

转载 [综合面试] 牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结(转)

基础篇:操作系统、计算机网络、设计模式一:操作系统1. 进程的有哪几种状态,状态转换图,及导致转换的事件。2. 进程与线程的区别。3. 进程通信的几种方式。4. 线程同步几种方式。(一定要会写生产者、消费者问题,完全消化理解)5. 线程的实现方式. (也就是用户线程与内核线程的区别)6. 用户态和核心态的区别。7. 用户栈和内核栈

2015-06-08 14:53:37 2120

转载 java版sqlhelper(转载)

这次做LN系统我负责的是连接数据库部分,视频已经录制完成,也传到了网上,希望网友们能指出我的不足,拜谢。下面是这次用到的sqlhelper的代码,权当作是留作备份了。package sql; import java.sql.*; import java.util.logging.*; /** * SQL 基本操作 * 通过它,可以很轻松的使用 JDBC 来操纵数据库

2015-06-05 17:39:30 1600

原创 Dom4j读取XML文件时遇到的一个问题(关于DTD)

最近做一个小项目,要用到Dom4j对XML文件进行读取,获得数据库配置信息,XML文件如下: com.microsoft.sqlserver.jdbc.SQLServerDriver localhost:CityCRM sa 123456 利用Dom4j读取XML代码如下: private static Str

2015-06-05 09:42:51 2894

原创 PreparedStatement 防数据库注入漏洞攻击

以前看过一些C#关于数据库的操作,记得其中用@来防止数据库注入漏洞攻击,现在由于实习需要,转向Java,学习Jdbc,正好在做数据库这一块,联想到Jdbc要怎么防止数据库注入漏洞攻击呢,于是百度Jdbc防止注入漏洞攻击,找到PreparedStatement类,在这里记一下,以便以后复习,也给入门级需要的朋友做一下参考,如有不对之处,还请指正。首先看一下什么是sql注入漏洞,见下面的sql语句

2015-06-03 16:42:08 2387

Android 自定义ListView(下拉刷新PullToRefreshListView 上拉加载LoadListView)

Android 自定义ListView,分别实现下拉刷新的ListView及上拉加载的ListView 详情可以参考我的博客 http://blog.csdn.net/sunshanai/article/details/51622917

2016-06-10

aFileChooser

aFileChooser是github上一款很受好评的android文件选择器,代码写的非常简洁,可扩展性非常好,地址为https://github.com/iPaulPro/aFileChooser,有兴趣的开发都可以下载下来看一下。由于近期做东西要用到文件选择的功能,于是拿下来稍加修改用了一下,主要扩展了以下两个功能: 1.由原来的只能单选变为多选, 2.增加文件过滤功能,可以根据后缀名过滤文件。

2016-05-29

HorizontalScrollView打造的相册效果

近期看了一堂某在线IT学习的视频公开课,这里就不说名字了,省的有打广告的嫌疑。讲到了利用HorizontalScrollView仿ViewPager设计的一个简单相册。其实主要用了ViewPager缓存的思想。自已尝试实现了一个,大家可以看一下。

2016-05-21

CustomToolBar

最近在做项目的过程中,要用到工具条,网上没有找到很合适的,就自己动手组合定义了一个,感觉还有很大的改进空间。大家先看效果,有需要的朋友可以看看。主要是ViewPager和GridView组合一下。

2016-03-03

空空如也

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

TA关注的人

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