自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

classTC的博客

博客新地址:http://classtc.com

  • 博客(60)
  • 资源 (2)
  • 收藏
  • 关注

原创 Mac 下安装 MySql

本文记录在 Mac OS X 10.11 环境下安装 MySQL Community Server 5.7.12 的过程以及期间遇到的一些问题。详细的安装过程可以参考官方文档下载首先下载 MySql 安装包,在 MySql 官网 下载安装包,我下载的是 mysql-5.7.12-osx10.11-x86_64.dmg,在下载的过程中可以去看看官方的文档,了解一些相关内容。安装安装过程和普通软件安装是

2016-04-22 15:34:56 805

原创 常用排序算法 Java 实现

本文是对《算法 第四版》中排序章节的总结,包括 选择排序,插入排序,希尔排序,归并排序,快速排序,堆排序和冒泡排序各种排序算法的性能特点有多种排序算法存在,就是因为各种算法拥有不同的性能特点,各有所长,适用于不同场合,下面是书中对各种排序算法的性能特点的总结: 算法 是否稳定 是否为原地排序 时间复杂度 空间复杂度 备注 选择排序 否 是 N^2 1

2016-04-01 21:42:53 1046

原创 Java 中 == 与 equals() 方法的区别

== 与 equals() 都有比较两者是否相等的意思, == 用于比较两个操作数的值是否相等,equals() 默认是对 == 的封装,通常需要自定义重写来定义不同的相等条件关系操作符 ==== 属于关系操作符,关系操作符用于比较两个操作数的值之间的关系,在 Java 的内存结构中,基本数据类型是直接存放在操作数栈中的,而对象则是存放在堆内存中,在操作数栈中存放的是堆中对象的引用地址。对于基

2016-03-31 20:49:17 890

原创 Java 控制台输入数据

Java 中从控制台打印输出一般是用的 System.out,相反的,从控制台输入,用的是 System.in。这里总结三种从控制台输入的方法,分别适用于不同的场景,比如有时候需要挨个字节的输入,有时候需要按空格中断输入,有时候又需要整行输入。字节输入 System.in.read()一次读入一个字节的方式读入数据,抛出 IOException,构造方法有三种read():每次读取一个字节数据,并

2016-03-30 16:33:02 1681

原创 黑大助手后端和Android端开发笔记

黑大助手 的功能:黑大助手是一款为黑龙江大学在校学生服务的 Android 端应用,提供 查课表,查成绩,查考试,问答社区以及获取校内最新资讯的功能。 下面开始整理整个项目从构思到完成这个过程的一些学习经历由于学校官方移动应用 i黑大实在太难用,而且数据更新不及时,消息推送不及时,所以想着自己写一个应用,可以查看一些学生信息,比如课程表,成绩表,考试安排等信息,思路还是比较简单的,就是

2016-03-13 22:56:04 2311 1

原创 Android 中 Retrofit 结合 RxJava使用

最近在学习一些关于 RxJava 和 Retrofit 的相关内容,通过 给 Android 开发者的 RxJava 详解 这篇文章对RxJava 有了一些了解,接着通过 ReactiveX 中文文档 了解了一些相关概念和思想,然后通过 Retrofit 官网 和 Retrofit 在GitHub上的例子 简单了解了Retrofit 的使用,在使用 Retrofit 之前,需要先了解下 RESTf

2016-02-13 16:40:05 1824 1

原创 设计模式学习笔记--装饰者模式(Decorator Pattern)

概念动态地将行为附加到对象上。提供了比继承更具有弹性的替代方案所谓”动态”,是指在运行时根据具体的需求添加行为,相对的,”静态”则是在编译时就确定了具体的行为,两者的区别很明显,动态添加行为具有很好的可扩展性,不需要修改已有的代码,这对于维护更新是很有利的。设计原则类应该对扩展开放,对修改关闭 对原有代码修改的代价是很大的,很可能引入未知的 bug 和意外的副作用,所以要对修改关闭,而使用扩展来

2016-01-04 21:47:23 1018

原创 设计模式学习笔记--观察者模式(Observer Pattern)

概念观察者模式定义了对象之间的一对多的依赖关系,当一个对象(被观察者)改变状态时,它的所有依赖者(观察者)都会收到通知并更新设计原则为了交互对象之间的松耦合设计而努力理解在这个模式中存在两个角色,一个是 “被观察者”,另一个是 “观察者”,他们之间的关系类似现实生活中的“报刊订阅”,其中被观察者是“报社”,观察者是“用户”,用户在报社购买报刊订阅服务后,报社一旦有新报刊发布,就会通知用户,而如果用户

2015-12-29 23:02:32 1149

原创 Fresco 图片圆角实现原理及 Android 中图片圆角实现方法

上篇文章 介绍了 Fresco 基础使用和实现图片圆角的方法,可以通过两种方式来实现圆角:BITMAP_ONLY 模式和 OVERLAY_COLOR 模式。本文通过分析 Fresco 源码来介绍这两种方式实现圆角的原理,并总结 Android 中常用的实现图片圆角的方法。本文重点分析 Fresco 中实现图片圆角的源码,其他部分的源码,将在后续文章中介绍。Fresco 中圆角实现原理在 com.f

2015-12-28 16:13:16 3464

原创 GreenDao 数据库简单使用及数据库升级更新

前面的基础使用先占坑,遇到更新的问题,这里先记录数据库更新的问题,有空再来更新前面的基础使用部分在进行数据库的更新时,大致步骤如下:编写更新后的数据库结构,并运行生成器,生成更新的代码 找到 DaoMaster (自动生成的文件)修改 SCHEMA_VERSION 的值为需要更新的版本号找到 onUpgrade()方法,注释掉其中的 dropAllTables() 和 onCreate()

2015-12-26 20:13:42 2681

原创 Fresco 基础使用

本文首先介绍一下 Facebook 推出的这个强大的图片加载框架以及一些简单的使用,在后续的文章中会逐步深入探究它的实现原理以及一些值得学习的编程思想。Android 中加载图片Android 系统是一个多用户的 Linux 系统,每一个应用会分配一个独立的 Linux 用户进程,基于这样的的运行机制,应用在运行过程中能够使用的内存大小是有限的,一般在设备出厂后,单个应用可分配的最大内存就确定下来了

2015-12-26 14:44:12 1984

原创 AndroidStudio中配置NDK开发环境和编译Fresco

本文记录在 AndroidStudio 中配置 NDK 开发环境并编译 Fresco 源码。 有两种方法可以查看 Fresco 的源码,第一种是比较常见的,在AndroidStudio 中通过 Gradle 的 compile 导入 Fresco,然后就能查看 Fresco 的源码了,第二种是通过 下载 github 上的 Fresco 源码,在本地编译使用

2015-12-15 22:56:35 1380

原创 Android中RecyclerView实现下拉刷新上拉加载更多

在ListView中实现下拉刷新上拉加载更多是很方便的,在RecyclerView中要实现这个功能,需要一些新的思路,当然习惯后也是很简便的。下面开始这个过程的总结思路在RecyclerView中,默认没有HeaderView和FooterView,所以只能开发者自己来实现这两个View,通常的做法是:使用官方的刷新控件SwipeRefreshLayout来实现下拉刷新,然后自定义一个FooterV

2015-11-29 22:35:15 1843

原创 Android中时间日期类使用总结(Calendar和Date)

Calendar类和Date类都来自java,在java.util包下,在JDK1.0中,Date类是唯一处理时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始新增了Calendar类,并**推荐使用**Calendar类进行时间和日期处理。

2015-11-26 12:16:53 19144 1

原创 Win10与Ubuntu 15.04双系统安装方法

通常情况下,是从window下安装ubuntu,首先安装Win10,然后再安装Ubuntu。网上有很多装双系统的教程,大致分为硬盘引导安装和U盘引导安装,我这里用的是U盘引导安装的方法。先说一下我的电脑情况:两个硬盘,一个256G的固态,一个750G的机械,计划固态用来装Ubuntu,用作Android开发;机械用来装win10,用作其他。在开始之前,先列出需要用到的工具和分区计划:工具:一个容量

2015-10-20 21:01:31 4947 2

原创 Android中解析html网页

本文主要记录通过网页解析得到自己想要的数据,也就是一个简单的爬虫。将使用第三方库jsoup实现,通过第三方库,能够快速方便的解析html。在开始之前,需要具备以下能力:首先,需要对网页编程有一点了解,知道一个页面的结构,标签的含义,知道html网页其实是一种xml格式的文件。如果对这些都了解的话,就可以很方便的进行网页解析了,如果不太熟悉,建议先了解一下网页编程。然后,在使用第三方库之前,最好是

2015-10-12 22:50:35 7720 15

原创 Android中触摸事件传递分发机制

触摸事件用MotionEvent表示,在Android中,一个触摸事件从产生到最终起作用,是一个很复杂的过程,但思路还是很清晰的,就是一层一层的传递,通过一个boolean值判断是否拦截或者消耗(也就是使用掉这个事件)。下面从基础的事件产生过程开始梳理整个流程:事件的类型:一般使用手机,在屏幕上的操作就是点击或滑动,所以一般触摸事件分为两类:点击事件:ACTION_DOWN–>ACTION_UP

2015-10-08 22:21:59 997

原创 Android中获取屏幕物理尺寸的方法

第一种方法//获取屏幕宽度int screenWidth = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getWidth();//获取屏幕高度int screenHeight = ((WindowManager) context.getSystemService(C

2015-09-30 11:11:44 3211

原创 Android自定义View遇到的问题

在尝试画一个圆角矩形框的时候,用了两种方式实现,但是发现画出来的效果不一样,很是费解,不明白为什么会不一样,这里先收集起来,后续再解决。第一种方式画两个圆角矩形,重叠内部的圆角矩形稍小一点,并且颜色和背景色相同,这样就能形成一个圆角矩形框了,代码如下: @Override protected void onDraw(Canvas canvas) { super.onDr

2015-09-26 11:14:44 1256

转载 Android自定义View---正式篇

本文转自 http://blog.csdn.net/jiangwei0910410003/article/details/42640665 稍有修改,感谢分享!考虑到篇幅和内容相关性,将其分为两篇文章,这里主要记录自定义View的具体使用 接上文 Android自定义View—前奏篇(Paint和Canvas的使用)自定义View的流程为:创建一个继承自View的自定义类 当然也可以继承自任

2015-09-24 22:50:01 3070

转载 Android自定义View---前奏篇(Paint和Canvas的使用)

本文转自 http://blog.csdn.net/jiangwei0910410003/article/details/42640665,稍有修改,感谢分享!在实现自定义View之前,有必要掌握Android中画图的相关类的使用方法,这是自定义各种酷炫界面的基础。主要使用到以下两个类:画笔:Paint画布:Canvas1. Android中的Paint和Canvas的概念和使用方法Andro

2015-09-23 22:39:18 2818 1

原创 解决百度地图230错误(App Scode码校验失败)

错误原因很简单,就是ak不匹配,一般这种错误是出现在App签名打包发布后,也就是正式版的App中使用的ak会与开发时的ak不同,因为根据官方文档,这个ak的组成,是数字签名+“;”+包名; 在开发时(也就是debug版)用的是sdk的数字签名,获取方法很如官方文档所述。 在发布时(也就是release版)用的是打包签名时的签名,所以在在正式发布时,如果依然使用之前之前的ak,会报如下错误: 解

2015-08-16 13:19:22 18023

原创 AndroidStudio中代码混淆以及打包操作

摸索了两天,大概了解了在AndroidStudio中代码混淆和打包发布的过程,在此记录下。代码混淆:关于代码混淆的作用,就不多解释了,整个过程大致如下:在app下的build.gradle文件中添加如下代码(minifyEnabled 表示是否混淆,默认是false,这里要记得设置成true): 其中proguard-android.txt文件是本地sdk/tools/proguard文件夹

2015-08-15 22:37:24 20661 1

原创 AndroidStudio中修改包名

在AndroidStudio中修改报名,比如原有包名为:com.tc.example,现在要修改为com.other.newname 具体步骤如下:如下图,可以看到当前包名为:com.tc.example。修改包名,首先找到红圈所在的按钮,然后在选项 Compact Empty Middle Package,将勾取消 取消勾后如下图:可以看到,包名变成层次结构了,接下来就是依次将需要修改的地方修

2015-08-08 20:55:14 2263

原创 模拟网站登录实现----Python

最近在学习Python,于是想着使用Python来实现一个网站模拟登录的过程,简单记录下: 所谓模拟登录,就是利用代码模拟浏览器网页中的操作,登录过程,在电脑端的浏览器中,需要用户输入用户名和密码,然后点击登录,登录成功则进入首页等,现在要将这一过程转换成代码操作,首先就需要了解点击登录那一瞬间浏览器都做了什么,怎么和服务器通信等。下面通过实例记录总结需要的工具:HttpWatcher代码编辑

2015-08-06 21:15:41 986

原创 Android API Guides 阅读笔记(9)----Bound Service

通过上节的笔记,了解到Service的调用方式有两种,其中使用startService的方式很好理解,就像是启动一个Activity一样,只不过没有UI界面,这节主要记录使用bindService()的方法,通过实例能更好的掌握使用方法绑定的Service通过一个客户端和服务端的接口(这里客户端指要进行绑定的其他组件,服务端指这个Service),允许其他组件通过绑定,向Service发送请求,接收

2015-07-31 20:50:13 715

原创 Android API Guides 阅读笔记(8)----Service

Service是一个可以长时间在后台执行并且没有用户界面的应用程序组件,Service同Activity一样,也可以被设备上的其他应用程序中的组件调用。Service是运行在主线程(UI Thread)中的,所以,如果要做长时间的操作(比如下载,播放音乐等)应该在Service中新建线程或者使用IntentService,通过阅读这节内容,将会了解到如下:申明一个Service:和创建Activit

2015-07-31 11:56:55 829

原创 Android API Guides 阅读笔记(7)----Overview Screen

这节的内容应该算是上节(Task and Back Stack)的补充,Overview Screen主要是描述最近任务(task) 用以显示最近任务的一个功能(Android设备上最右边的按钮),在Android5.0之前称为recents screen(或者recent task list)可以很方便的让用户切换到不同的应用程序,这个功能不多说,只要使用过Android设备,应该都了解。通过阅

2015-07-29 19:26:36 1214

原创 Android API Guides 阅读笔记(6)----Task and Back Stack

Task是当用户操作时用到的一组Activity的集合,运行中的Activity放在回退栈中存储(back stack),按执行顺序排列。系统会为每一个运行的应用程序分配一个Task和对应的回退栈,一个系统中可以同时存在多个Task,但是同一时间只能有一个Task显示在前台,其他Task将处于后台,并且其中的Activity都将处于stop状态,关于Task和Back Stack,需要了解以下几点:

2015-07-28 22:58:15 672

原创 Android API Guides 阅读笔记(5)----Loader

使用Loader,是为了方便在Activity或者Fragment中异步加载数据及监听数据源的变化,Loader的一些特征:每一个Activity或者Fragment都能使用LoaderLoader提供异步加载数据的数据Loader可以监听数据资源,有数据内容改变时Loader可以提供新的数据当配置改变导致Activity或者Fragment重新创建后,Loader可以自动连接上次的游标(c

2015-07-28 14:00:39 694

原创 Android API Guides 阅读笔记(4)----Fragment

Fragment在一个Activity中表示一个行为或用户界面的一部分,可以在一个Activity中组合多个Fragment形成一个多页的用户界面或者在多个Activity中重复使用一个Fragment,可以认为Fragment是一个拥有独立生命周期,独立接收输入事件,并且可以在Activity运行时添加或删除的模块化部分(有点像”内嵌的Activity“),Fragment不能单独存在:必须依附于

2015-07-27 16:47:18 904

原创 Android API Guides 阅读笔记(3)----Intent and Intent Filter

Intent 是一个可以从App组件(Activity,Service,ContentProvider,BroadcastReceiver)请求动作(action)的消息对象,实现从一个组件跳转到另一个组件的功能,通过阅读文档,可以了解到:Intent的三种基本使用场景:启动一个Activity启动一个Service发送一个BroadcastIntent的种类:显示Intent,启动指定名字

2015-07-25 22:57:06 989

原创 Android API Guides 阅读笔记(2)----Activity

Activity 是应用程序的必备组件,它提供了一个屏幕,用户可与之互动,以做一些事情,如拨打电话,拍照,发送电子邮件,或查看地图。每个Activity 会提供一个窗口,在其中绘制它的用户界面。通常窗口会填满整个屏幕,但也有可能比屏幕小并且浮动在其他窗口之上。 通过阅读这节内容,将会了解到:一个应用程序通常由许多Activity组成,其中一个Activity是程序入口Activity(用户点击程

2015-07-24 14:31:55 1042

原创 解决本地打开Android API文档缓慢的问题

通过SDK Manager下载了最新的Documentation for Android SDK,发现使用IE浏览器打开会等待很长时间,简直神烦==。主要原因是html文件中有在线字体链接和js链接,都需要访问google才能获取,由于大陆google被墙,导致加载缓慢,如下: 于是找解决办法吧,经过尝试,总结出三种解决办法:修改Host文件中的地址:找到文件 C:\Windows\Syst

2015-07-24 13:11:20 5016

原创 Android API Guides 阅读笔记(1)----Application Fundamentals

Application Fundamentals(应用程序基础)介绍了Android应用程序的概念,运行环境及其基本组成结构,是Android开发的基础,通过阅读这一章节的内容,将会了解到:Android操作系统是一个多用户的Linux系统,每一个应用程序就是一个不同的用户,系统为每一个应用程序分配一个ID,系统的访问权限根据这个ID分配,每一个应用程序运行在独立的进程中,不同的进程(应用程序)间

2015-07-22 21:18:16 1049

转载 Android中Intent-filter的四个属性Action,Category,Extras,Data

原文出处:Intent中四个重要属性详解  Intent作为联系各Activity之间的纽带,其作用并不仅仅只限于简单的数据传递。通过其自带的属性,其实可以方便的完成很多较为复杂的操作。例如直接调用拨号功能、直接自动调用合适的程序打开不同类型的文件等等。诸如此类,都可以通过设置Intent属性来完成。   Intent主要有以下四个重要属性,它们分别为:     Action:Action属性

2015-07-08 21:39:31 4074

转载 Android中AndroidManifest.xml文件解析

原文出处:Android学习笔记之AndroidManifest.xml文件详解一、关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities

2015-07-08 21:04:01 1130

原创 Android开发容易忽略的小错误记录整理

计划这篇博客长期更新,用于收集整理在开发过程中遇到的问题和一些解决办法1. android.content.res.Resources$NotFoundException: String resource ID #0x15字面意思是资源没有找到,错误是在使用TextView的setText()时报的,所以从这里入手开始检查,发现了错误所在: holder.tvAtyItemLaunchTime.se

2015-06-25 19:59:22 1187

原创 AndroidStudio中百度地图接口使用配置相关总结

百度地图Android端接口调用,Eclipse和AndroidStudio的使用方法略有不同,主要是前期的配置准备工作,后期调用方法还是一样的,在Eclipse中的配置可以参考官方文档,按照步骤一步一步来就能实现,但是官方文档没有说明AndroidStudio中的配置方法,所以这里简单总结下在AndroidStudio中的相关配置方法,如下:根据需求下载官方SDK,将libs文件夹下的xxxx.

2015-06-21 19:28:40 1151

原创 设计模式学习笔记--策略模式(Strategy Pattern)

设计模式第一弹,发现在继续深入学习Java相关知识前,很有必要学习下设计模式,其中几个比较重要的设计模式其实在之前的使用中已经出现过很多次,但是由于没有学过设计模式,也就知其然不知其所以然的拿来用了,所以接下来准备好好整理学习设计模式,博客整理的内容均来自《Head First 设计模式》。下面开始整理第一个设计模式–策略模式1.定义策略模式:定义了算法簇,分别封装起来,让它们之前可以互相替换,此模

2015-06-11 18:17:38 1115

Selenium ChromeDriver 98

Selenium ChromeDriver 98

2022-03-11

Android中解析html网页示例Demo

博客内容:http://blog.csdn.net/ttccaaa/article/details/49082091#comments

2015-12-16

空空如也

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

TA关注的人

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