- 博客(18)
- 收藏
- 关注
原创 虚析构函数的使用
如果经常看c++代码,会经常看到虚析构函数。但是为什么要使用虚析构函数呢?一下用例子解释为什么这样做。class A {public: A() { cout << "A create" << endl; } ~A() { cout << "A distroy" << endl; }};class B{public: B() {...
2018-03-22 11:19:47
207
原创 为什么基类指针可以指向派生类对象,而派生类则不可以指向基类
之前看到一段代码,代码大致意思是:A* a = new B(); 以上代码,就是用于一个A类型的指针,指向一个B创建的实例。而B是A的子类(派生类)。刚开始看见这样的用法觉的比较奇怪,在网上也看了一些相应的文章,一下写一些自己的理解,如有错误,请指正。 首先,然我们先看一下这段代码:class A {public: int v;};class B : public A ...
2018-03-21 13:14:18
3921
原创 Android学习笔记之(七):服务(3)服务的更多技巧
1、前台服务,服务几乎都是后台运行的,但是服务系统优先级比较低,当系统出现内存不足的情况是,就有可能被回收。如果希望服务一直保持运行状态,而不会由于系统内存不足而被回收,就可以考虑使用前台服务。public void onCreate() { super.onCreate(); Notification notification = new Notification(R.drawable....
2018-03-20 20:31:21
194
原创 Android学习笔记之(七):服务(2)服务的基本用法
1、服务,android四大组件之一1、服务Service,它有唯一的一个抽象方法,onBind()必须要在子类中实现public class MyService extends Service { @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return nul...
2018-03-20 20:31:16
211
原创 Android学习笔记之(七):服务(1)手机多线程
1、服务是android中实现程序后台运行的解决方案,它非常适合用于去执行那些不需要和用户交互而且要求长期运行的任务。1、android多线程与Java多线程相似。定义一个线程需要新建一个类继承自Thread,然后重写父类的run()方法即可。public void initHandler() { handler = new Handler() { public void handleMes...
2018-03-20 20:31:09
434
原创 Android学习笔记之(六):手机多媒体(2)调用摄像头和相册
1、调用摄像头和相册1、调用摄像头拍照功能,并获取拍下来的照片File outputImage = new File(Environment.getExternalStorageDirectory(), "tempImage.jpg");try { if (outputImage.exists()) { outputImage.delete(); } outputImage.creat...
2018-03-20 20:30:51
542
原创 Android学习笔记之(六):手机多媒体(1)通知
1、通知是当某个应用程序希望像用户发出一些提示信息,而该应用程序又不再前台运行时,就可以借助通知来实现。1、通知的基本用法:通知既可以在活动里创建,也可以在广播里创建,还可以在服务里创建。相比于广播接收器和服务,在活动力创建通知的场景还是比较少,一般只有在程序进入到后台的时候我们才需要使用通知。NotificationManager通知管理器,可以调用Context的getSystemServic...
2018-03-20 20:30:42
240
原创 Android学习笔记之(五):数据储存
一、Android系统中主要提供了三种方式用于简单的实现数据持久化功能即文件存储、SharePreference存储一级数据库存储。除此之外,还可以将数据保存在手机的SD卡中。1、文件存储1、写入数据:Context类中提供了一个openFileOutput()方法,此参数第一个参数是文件名。不能包含路径,因为所有文件都是存储到/data/data/<packagename>/file...
2018-03-19 16:51:59
275
原创 Android学习笔记之(四):广播
1、Android的广播消息机制可以允许程序自由的发送和接收、能大大的提高灵活性。Android的广播分为标准广播和有序广播(1)动态注册监听网络变化public class MainActivity extends Activity { private IntentFilter intentFilter; private NetWorkChangeReceiver networkCha...
2018-03-19 16:45:28
174
原创 Android学习笔记之(三):UI(3)自定义控件的ListView
1、自定义控件一般是有多个控件组合,例如标题栏等。一般在程序中,可能会有多个活动的标题栏,如果每个活动编写同样的标题栏代码,就会有大量重复代码。可以使用引入布局的方式来解决<Button android:id="@+id/title_back" android:layout_width="wrap_content" android:layout_height="...
2018-03-19 16:33:18
209
原创 Android学习笔记之(三):UI(2)四种基本布局
1、LinearLayout:是一种非常常用的线性布局。这如他名字所描述的一样,这个布局会将它所包含的所有控件在线性方向依次排列。布局例如:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:la...
2018-03-19 16:24:12
165
原创 Android学习笔记之(三):UI(1)常用控件
1、TextView:主要用于界面上显示一段文本信息。现在布局中添加TextView,例如:<TextView android:id="@+id/text_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:...
2018-03-19 15:26:15
225
原创 Android学习笔记之(二):活动(3)活动的生命周期和启动方式
Activity类中定义了七个回调方法,覆盖了活动生命周期的每一个环节。(1)onCreate():他在第一次次被创建的时候调用。这个方法中完成活动的初始化。(2)onStart():这个方法在活动有不可见变为课件的时候调用。(3)onResume():这个方法在活动准备好和用户进行交互的时候调用。此时的活动一定位于返回栈的栈顶,并处于运行状态(4)onPause():这个方法在系统准备去启动或者...
2018-03-19 15:09:18
219
原创 Android学习笔记之(二):活动(2)活动相关的API
1、Toast:系统提供的一种提醒方式。通过静态方法创建一个Toast对象,并用show()显示出来,例如 传入的三个参数中,第一个参数是Context,也就是Toast要求上下文。第二个参数表示Toast需要显示的文本内容。第三个参数表示显示的时间。显示效果: 2、Menu:Androi...
2018-03-19 15:04:41
234
原创 Android学习笔记之(二):活动(1)活动的基本介绍
在Android程序中,讲究逻辑和视图分离。一般在res/layout目录中可以保存“Android XML File”文件。例如:以上是一个配置好的Android XML File选项的文件。表示配置的layout。布局中有一个id为button_1的Button。可以再活动的java文件中,通过:setContentView(R.layout.first_layout);But...
2018-03-19 13:58:44
161
原创 Android学习笔记之(一):安卓的配置结构
目录结构:1、src:存放java文件2、gen:目录中有一个主要文件(R.java),在项目中添加资源。都会在R.java中生成相应的资源id。3、assets:主要是存放一些程序打包文件。4、bin:主要包含一些在编译是自动产生的文件5、libs:如果项目中使用到了第三方jar包,就需要吧jar包放在libs目录下6、res:主要存放项目中的图片、布局、字符串等。之前gen目录中的R.java...
2018-03-19 13:56:16
171
原创 函数增长
1、渐进记号Θ记号对一个给定的函数g(n),用Θ(g(n))来表示函数的集合:Θ(g(n)) = {f(n):存在一个正常量c1,c2和n0,使得对所有的n >= n0,有0 <= c1g(n) <= f(n) <= c2g(n)}。即,存在常量c1和c2使得足够大的n,函数f(n)能“夹入”c1g(n)与c2g(n)之间,则f(n)属于集合Θ(g(n))。通常记做f(n)...
2018-03-19 13:46:54
1733
原创 算法基础
1、循环不变式以插入排序来述说算法基础,以下伪代码INSERTION-SORT(A) for j = 2 to A.length key = A[j] i = j - 1 whild i > 0 and A[i] > key A[i + 1] = A[i] i = i - 1 A[...
2018-03-08 22:17:44
168
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人