自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

贾博士的专栏

android开发,架构

  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

原创 android仿各类新闻app标签编辑页实现(改进版)

android仿各类新闻app标签编辑页实现(改进版)同类相似产品网易新闻、今日头条、腾讯新闻他们的特点都是从“我的频道”区域到“频道推荐”之间来回交换,如下图:改进版实现效果源码地址:https://github.com/DrJia/TagManageEditor...

2019-04-12 14:19:06 2240

原创 android仿小红书图片拖拽(改进版,仿微信朋友圈拖拽删除)

一、小红书效果上面三个图是小红书发布动态的时候选择好图片后,长按图片进行排序的效果。长按后,选择的图片浮起,随手指左右移动,靠近左右边缘的时候,整体的条目可以左右滚动,再将手指选择的图片发到合适的位置。二、改进效果1.首先是可以上下左右拖动,解决了,只左右滚动,在选择后图片放大导致顶部被切割的问题。2.当图片满足9个的时候将最后位置的+号隐藏,小于9...

2019-04-11 13:38:51 3834

原创 android app崩溃日志收集以及上传

源码获取请到github:https://github.com/DrJia/AndroidLogCollector已经做成sdk的形式,源码已公开,源码看不懂的请自行google。如果想定制适应自己app的sdk请自行fork。AndroidLogCollectorandroid app崩溃日志收集sdk 1.0作者:贾博士崩溃日

2014-08-15 20:40:59 32749 1

转载 Android通过HTTP协议实现多线程下载

import java.io.File;import java.io.InputStream;import java.io.RandomAccessFile;import java.net.HttpURLConnection;import java.net.URL;public class MulThreadDownload {/*** @param a

2014-03-19 19:18:57 1561

转载 java之Thread线程相关yield()、sleep()、wait()、join()、run和start区别详解

1、sleep()使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果没有Sleep()方法,只有高优先级的

2014-03-19 17:40:19 3689

转载 sleep()、wait()、yield()、join()方法 解析

一 java多线程机制JAVA多线程机制有两种实现方式:第一种:  继承Thread类, 实现run()方法.第二种: 实现Runnable接口.      实例代码:      第一种:                 public class OntThread extends Thread {       public static

2014-03-19 15:15:06 678

转载 Activity四种启动模式

Activity启动模式设置:        Activity的四种启动模式:    1. standard        模式启动模式,每次激活Activity时都会创建Activity,并放入任务栈中。    2. singleTop        如果在任务的栈顶正好存在该Activity的实例, 就重用该实例,否者就会

2014-03-18 22:21:41 579

转载 Java中Hashset、HashMap、ArrayList、LinkedList、Vector之间的联系与区别

HashSet、HashMap、ArrayList、LinkedList、Vector这几个在Java编程中经常用到,他们之间有很多联系,有很多相通的地方、但也有很多不同。首先java集合类主要由两个接口:Collection和Map.Collection又有子接口:Set、Queue、List.(这些基础的接口关系这里不多说了)     HashSet与HashMap,名字很接近,都带有

2014-03-18 22:10:00 716

转载 内存泄露和内存溢出区别

1、内存泄漏是指分配出去的内存无法回收了2、内存溢出是指程序要求的内存,超出了系统所能分配的范围,从而发生溢出。   为了便于理解,我们不妨打个比方。缓冲区溢出好比是将十磅的糖放进一个只能装五磅的容器里。一旦该容器放满了,余下的部分就溢出在柜台和地板上,弄得一团糟。由于计算机程序的编写者写了一些编码,但是这些编码没有对目的区域或缓冲区——五磅的容器——做适当的检查,看它们是否够大,

2014-03-18 21:46:30 1400

原创 【面试题】给定一个仅包含字母和数字(0-9)的字符串,要求找到最长递增的数字串

#include #include #include using namespace std;bool isDigit(char c){ if(c >= '0' && c<='9') { return true; } else return false;}void findMaxSeq(char* s){ char *p; char *pt = NULL; i

2014-01-25 15:52:32 7141

转载 函数式编程初探

原文地址:http://www.ruanyifeng.com/blog/2012/04/functional_programming.html诞生50多年之后,函数式编程(functional programming)开始获得越来越多的关注。不仅最古老的函数式语言Lisp重获青春,而且新的函数式语言层出不穷,比如Erlang、clojure、Scala、F#等等。目前最当红的Pyt

2013-07-09 19:15:51 644

原创 【面试】一些排序算法代码

直接插入排序#include void InsertSort(int data[],int num){ int temp = 0; for(int i = 1 ; i < num ; i++) { if(data[i] < data[i-1]) { temp = data[i]; for(int j = i-1 ; j >= 0 ; j--) {

2012-10-08 15:48:25 818

转载 library sort(图书馆排序)

特色:Library sort优于传统的插入排序(时间复杂度为O(n^2)),它的时间复杂度为O(nlogn),采用了空间换时间的策略。思想:一个图书管理员需要按照字母顺序放置书本,当在书本之间留有一定空隙时,一本新书上架将无需移动随后的书本,可以直接插空隙。Library sort的思想就源于此。实现:有n个元素待排序,这些元素被插入到拥有(1+e)n个元素的数组中。每次插入2^(i

2012-10-05 23:00:38 5277

转载 TCP状态迁移图浅析

一.TCP简介        TCP提供一种面向连接的,可靠的字节流服务。面对连接意味着两个使用TCP的应用,在彼此交换数据之前必须先建立一个连接。TCP通过以下方式提供可靠性:     1. 应用数据被分割成TCP认为最适合发送的数据块,由TCP传递给IP的信息单位成为报文段。      2. 当TCP发出一个段后,它就启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一

2012-10-04 19:05:01 723

转载 TCP三次握手四次挥手详解

经典的三次握手示意图:(#add,“握手”即图中左边到右边的连线)经典的四次握手关闭图:TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机)ACK(acknowledgement 确认)PSH(push传送)FIN(f

2012-10-04 19:03:43 568

转载 close与shutdown的区别

终止网络连接的通常方法是调用close函数。不过close有两个限制,却可以使用shutdown来避免。1  close把描述字的引用计数减1,仅在该计数变为0的时候才关闭套接口。而使用shutdown可以不管引用计数的值是多少就激发TCP的正常连接终止序列,也即是发送FIN节。2  close终止数据传送的两个方向:读和写。而有的时候只是想关闭读或写,那么此时就使用shutdow

2012-10-04 18:14:06 680

转载 6个有用的MySQL语句

原文出处:http://coolshell.cn/articles/3433.html1. 计算年数你想通过生日来计算这个人有几岁了。SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(now()) - TO_DAYS(@dateofbirth)), '%Y') + 0;2. 两个时间的差取得两个 datetime 值的差。假设 d

2012-10-03 17:18:47 605

转载 INT_MIN和INT_MAX溢出问题

C中int类型32位,范围是-2147483648到2147483647.(1)最轻微的上溢是 INT_MAX + 1 :结果是 INT_MIN。 (2)最严重的上溢是 INT_MAX + INT_MAX :结果是 -2。 (3)最轻微的下溢是 INT_MIN - 1 :结果是 INT_MAX。 (4)最严重的下溢是 INT_MIN +INT_MIN :结果是 0。应付

2012-10-03 17:12:28 1116

转载 僵尸进程和孤儿进程

僵尸进程和孤儿进程问题是面试笔试常考的问题,主要涉及到Linux操作系统的知识僵尸进程:一个子进程在其父进程还没有调用wait()或waitpid()的情况下退出。这个子进程就是僵尸进程。孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。

2012-10-03 15:59:19 915

转载 可视化的数据结构和算法

一个旧金山大学David Galles做的各种可视化的数据结构和基本算法的主页:http://www.cs.usfca.edu/~galles/visualization/Algorithms.html基础Stack栈: 数组实现Stack栈: 链表实现Queues队列: 数组实现Queues队列: 链表实现Lists列表: 数组实现 ( java 版演示)Lists列表:

2012-10-03 15:05:57 864

转载 一些重要的算法

下面是一些比较重要的算法,原文罗列了32个,但我觉得有很多是数论里的,和计算机的不相干,所以没有选取。下面的这些,有的我们经常在用,有的基本不用。有的很常见,有的很偏。不过了解一下也是好事。也欢迎你留下你觉得有意义的算法。(注:本篇文章并非翻译,其中的算法描述大部份摘自Wikipedia,因为维基百科描述的很专业了)A*搜寻算法俗称A星算法。这是一种在图形平面上,有多个节点的路径,求出

2012-10-03 14:51:18 790

转载 一些软件设计的原则

原帖地址:http://coolshell.cn/articles/4535.htmlDon’t Repeat Yourself (DRY)DRY 是一个最简单的法则,也是最容易被理解的。但它也可能是最难被应用的(因为要做到这样,我们需要在泛型设计上做相当的努力,这并不是一件容易的事)。它意味着,当我们在两个或多个地方的时候发现一些相似的代码的时候,我们需要把他们的共性抽象出来形一

2012-10-03 13:44:15 1233

原创 【C语言】关于宏定义中#和##符号的使用和宏定义展开问题

有一道经典的C语言问题,关于宏定义中#和##符号的使用和宏定义展开问题程序如下:#include #define f(a,b) a##b#define g(a) #a#define h(a) g(a) int main(){ printf("%s\n", h(f(1,2))); printf("%s\n", g(f(1,2)));

2012-10-02 19:47:27 6190

原创 【面试题】连续重复字符串去重

说明:比如aabbbccabcddef,去重后abcabcdef//异常情况自己考虑,以下C++代码仅供参考#include using namespace std;char* delsome(char* s){ char* p,*t; t=p=s; while(*p!='\0') { p++; whil

2012-10-01 16:51:16 1584

原创 【面试题】纯数字字符串加法

说明:比如字符串"123"和"1234"相加,返回"1357"要点:1.C语言中的atoi函数貌似是不能用了,比如字符串很长的话,会导致溢出(出题目的估计也不是让你用一些现成的函数)2.考虑字符串不同长度的问题3.考虑字符串前面有N个0的情况(比如:0123+0023)//异常情况自己考虑,以下程序自己写的,有点长,希望能再简略一些,仅供参考#include

2012-10-01 16:42:22 4502

原创 二叉树重建

面试常考的一道题是二叉树的重建,比如给了先根遍历和中根遍历,让重构二叉树之类的,还有就是输出后根遍历。例如:DBACEGF   ABCDEFG。输出 ACBFGED思路:先根遍历第一个字符是根,需要在中根遍历中找到它,就知道左右子树的先根遍历和后根遍历了。(递归)代码:void build(int n , char* s1 , char* s2 , char* s){if(

2012-09-09 13:12:00 755

原创 C++笔记(三)重载操作符

1.操作符重载:把操作符赋予新的意义2.可重载和不可重载3.用于内置类型的操作符,其含义不能改变。例如,内置的整型加号操作符不能重定义:int oprator+(int,int);//error:cannot redefine built-in operator for ints 也不能为内置数据类型重定义加号操作符。例如,不能定义接受两个数组类型操作数的operator+。

2012-08-17 14:03:29 722

转载 【转】Android手机应用UI设计的10个建议

最近,许多开发者进驻手机领域,小团队也能够构想出优秀和独特的想法,使用业余时间便足够来开发应用。  每个开发循环迟早到会走到应用几近完成这个点。接下来要做什么呢?你可曾听说过“用户体验”这个词?以下这10个技巧能够使新手机应用在发布前提升质量,最大化发掘该应用的潜力,从而最小化用户差评和低下载量这种不良结果。  1、首次开启体验  优秀的网站和手机应用有诸多相似之处。这两者

2012-08-10 20:53:29 1535

原创 C++笔记(二)友元

友元机制允许一个类将对其非共有成员的访问权授予指定的函数或类。关键字friend。只能出现在类定义的内部。其声明尅在类中的任何地方。通常将友元声明成组地放在类定义的开始或结尾。友元类:当一个类B成为了另外一个类A的“朋友”时,那么类A的私有和保护的数据成员就可以被类B访问。我们就把类B叫做类A的友元。友元类可以通过自己的方法来访问把它当做朋友的那个类的所有成员。但是我们应该注意的是,我们把

2012-08-10 17:56:27 504

原创 C++笔记(一)explicit

关键字explicit,用于构造函数,可以阻止构造函数的隐式转换,构造函数声明explicit后如果使用隐式转换会报错。隐式转换:例class Person{public:Person(int age);......}......Person Tom = 20;//调用隐式转换,等同于//Person temp(20);//Person Tom = te

2012-08-09 13:07:29 540

原创 Windows phone应用开发初体验(环境搭建+helloworld)

转载请注明出处   http://blog.csdn.net/jiabinjlu/article/details/7444632一、环境搭建1.目前Windows phone 7开发环境只支持win7和vista,系统安装问题这里不进行讲述2.下载“windows phone developer tools ctp”,自行baidu或google下载这个开发环境包括

2012-04-10 19:42:42 1756

转载 保护你的隐私,五种控制Android应用的权限的方法

这篇文章目的在于介绍Android系统上控制权限的方法,读者只要使用过Android,或是对智能机平台有所了解,就能看懂,不需要专门的编程知识。  1  为什么Android总是事无巨细地告诉你应用索取的每一项权限?  相比Apple,Microsoft严格控制生态系统(从苹果给开发者的"App Store Guideline"可见一斑),只允许通过官方应用商店安装应用,并对每份上

2012-02-11 10:07:21 2506

原创 android系统图标的使用

我们在做android的界面设计的时候经常会用到图标,对于美工不好的朋友是一件很苦恼的事情,往往花费很长时间做出了图自己也不满意,我们可以使用android自带的系统图标来解燃眉之急,比如我们要在设置menu的时候用到图标java文件中:方法一:myMenuItem.setIcon(android.R.drawable.ic_menu_save);ic_menu_save

2012-02-08 17:10:46 22020 1

转载 Android 4.0设计规范的10大改变

在拜读和翻译了Android design设计指导后,对比Android 4.0与Android2.3及之前版本的app设计指导,总结了Android 4.0设计的10大改变:1. 导航栏 (详见模式PATTERNS>导航Navigation)由之前的物理按键导航(返回、菜单、搜索、主页)变成了嵌入屏幕的虚拟按键(返回、主页、最近任务)。左侧为早

2012-01-20 16:30:57 1116

原创 Android中sqlite数据库的简单使用

摘要:每个应用程序都要使用数据,Android应用程序也不例外,Android使用开源的、与操作系统无关的SQL数据库--SQLite,本文介绍的就是如何为你的Android应用程序创建和操作SQLite数据库。数据库支持每个应用程序无论大小的生命线,除非你的应用程序只处理简单的数据,那么就需要一个数据库系统存储你的结构化数据,Android使用SQLite数据库,它是一个开源

2011-11-24 23:41:06 2890

转载 AndroidManifest.xml文件解析

原帖地址:http://www.cnblogs.com/pilang/archive/2011/04/20/2022932.htmlAndroid学习笔记之AndroidManifest.xml文件解析一、关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了pa

2011-11-09 17:40:45 800

原创 关于搭载新版本SDK后,导入以前的工程出现Unable to resolve target 'android-6'的解决办法

我的上一篇博客文章是关于搭载最新版本的android环境的方法,由于SDKmanager的更新,会少了以前的一些版本号,导致我们导入以前的工程的时候出现错误提示。如:Unable to resolve target 'android-6'。我们先打开sdk manager看看各个SDK对应的API版本号记下后。这时我们需要修改几个地方:在工程中找到两个文件

2011-11-06 18:45:12 8506

原创 SDK_r14和ADT14.0.0 的android环境搭载

最近本人由于计算机悲剧了,重做了系统,于是呢android环境又得重新搭载。但是自从SDK更新了android4.0后,SDKmanager和AVDmanager就分开了,和以前的搭载方法可能略有不同,还是先说一下所需要的工具吧,JAVA环境的搭载自己可以参考网络中各种的方法,这里我就不再多说了,android方面的工具有下面三个:ADT,SDK,eclipse,以上应该是目前来说比较新的版本

2011-11-03 00:33:17 2739 1

转载 Android学习及如何利用android来赚钱

原帖地址:http://blog.csdn.net/fenger8293/article/details/6896510  之前同名的帖子发了后,反响还不错,所以整理成博客发吧,以后会把我更多的经验分享给大家。     先说说本人的情况,09年底开始学习手机开发,先从Brew到Mobile再到Android,android是今年过年回来才算真正开始学的,一边学习一边做原

2011-11-01 12:33:09 745

转载 基于Android的传感器和语音识别的设计与实现

Android特色开发Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。早期由原名为”Android”的公司开发,谷歌在2005年收购”Android.Inc”后,继续进行对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件

2011-11-01 12:31:10 1710

Linux常用命令全集

Linux常用命令全集,很实用,查阅挺方便的 文件管理 文件传输 文档编辑 系统管理 系统设置 网络通信 磁盘管理 磁盘维护 备份压缩 设备管理

2010-10-25

空空如也

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

TA关注的人

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