当前位置:  编程技术>移动开发
本页文章导读:
    ▪关于自各儿的心态        关于自己的心态   一直以来都想写自己的博客,这真的停留在想什么,几乎没有去实施,一直都想把自己的学到的技术和大家分享一下,可以一直都没有一颗坚持的心。对于我这个不是科.........
    ▪ (2)程序调试        (二)程序调试   一:LOG 的用法:   package com.example.example; import android.os.Bundle; import android.app.Activity; import android.util.Log; public class MainActivity extends Activity { private static final String TAG="hello lo.........
    ▪ (3)Activity生命周期       (三)Activity生命周期       新的activity启动后,前一个activity就会停止,系统将其保存到一个历史栈中。返回时,顶层的activity就会被销毁,之前的activity就会重新显示在屏幕上。当然,如.........

[1]关于自各儿的心态
    来源: 互联网  发布时间: 2014-02-18
关于自己的心态
  一直以来都想写自己的博客,这真的停留在想什么,几乎没有去实施,一直都想把自己的学到的技术和大家分享一下,可以一直都没有一颗坚持的心。对于我这个不是科班出生的程序员,在学习的过程中遇到了很多困难,但是困难过后自己的收获就很多。

      今天就和大家聊聊我自己的故事,和很多人一样在高中的时候对大学充满了理想化的生活,可是真的踏入大学有不像自己想象的那样,大一上半学期模模糊就过来了,什么东西也没学到。心里就在思考按这样的生活继续下去,整个大学就荒废了,于是心里开始琢磨着学点什么?也就是这样的琢磨,开始了我苦逼的编程之旅,我接触的第一种语言是c语言,那时候c语言只学了基础,听别人说java很火,于是就开始了学java之旅,刚开始学习编程不知道怎么学,也没有老师带着。开始是从来不敲代码的那种,只是每天拿着书本看,感觉似乎看懂了,然后就继续往下看,就这样一本java从门到精通被我用一个月的时间看完了,这期间一行代码也没敲,看完之后回忆总结一下自己学到的东西,竟然不能用一个字一段话来形容自己学的什么。

     这样的情况下,也就是自己什么也没学到,什么也没理解,于是开始上网关注各种博客,然后看看前辈的经验总结,自己也开始逐渐敲代码,一边看是一边敲代码,领悟java的思想,就这样每天的学习,也正因为是这样,室友和同学都把我看成外星人,因为他们都在玩各种游戏,我却在苦逼的敲代码,于是乎慢慢的就和他们有了隔阂,他们说话也有点冷嘲热讽(可能是他们也没那种意思,当时我想多了吧),我感觉不适合在宿舍学编程了,就开始转移地方。来到了实验室,这才真正的开始了我的编程之旅。那时候我几乎都是每天早上6点多就起床,就这样苦逼的生活一直延续到大四。

     还是谈谈我学习心得吧,自学了那么久,也总结了很多自己的方法,我学java学历很久,然后又开始学android,之后又学习ios开发,到目前是android和ios工作。1.我感觉学习编程语言最好的方法就是多做练习,一段代码最好是敲个几遍,再敲代码的过程中一定要思考。编程语言是一通百通的,只要理解透了一种语言,学习其他语言就是记忆一些区别性的东西。2.在学习一些基础性的东西之后一定要做项目练习,无论是多么小的项目一定要做,这样不经复习了知识,而且还把知识融会贯通了,这一点非常重要。3.学习的时候,一定要谦虚,会就是会,不会就是不会,一定不要骗自己和想当然。4.学习编程一定要先学思想,思想很重要,思想是陪伴自己以后的编程路的,时刻都离不开它,她就是我们的指导思想。

就写到这里吧,

我以后一定会坚持更新自己的技术博客,把自己做项目的经验分享给大家。

     谢谢大家!!!!!

    
[2] (2)程序调试
    来源: 互联网  发布时间: 2014-02-18
(二)程序调试



  一:LOG 的用法:

 

package com.example.example;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;

public class MainActivity extends Activity {

	private static final String TAG="hello log";
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d(TAG, "my first log");
        System.out.print("print");
    }

   
}

 运行,看到logcat中一堆信息。

 

  设置过滤器:

          在logcat中点击蓝色加号(create filter):


                                    
 

输处打印语句的打印内容:

 

 

运行后查看输出结果:

 

 

 二:debug调试:

 

输出日志调试方法,是程序繁琐而且效率低,所以较多的运用debug方法为好

 

package com.example.example;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;

public class MainActivity extends Activity {

	private static final String TAG="hellolog";
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d(TAG, "my first log");
        System.out.println("print");
        int i=1+2;
        int d=myFirstDebug(i);
    }    
    public int myFirstDebug(int x){
    	int a=x;
    	int b=40;
    	int c=a+b;
    	return c;
    }   
}

 点击 int i= 1+2 左边双击添加一个端点,右击项目选择调试方式debug as->Android Application.这是模拟器弹出一个对话框,确认切换到debug视图。



 

当然在run 菜单栏中有更多debug的选项。

 

三:单元测试:
JUnit是采用测试驱动开发的方式,在开发前先写好测试代码,主要用来说明被测试的代码会被如何使用,错误处理等,然后开始写代码,并在测试代码中逐步测试这些代码,知道最后在测试代码中完全通过,这样就不用一遍遍在缓慢的模拟器上来运行我们的程序,提高了开发效率。

 

在androidmanifest中配置:<uses-library android:name="android.text.runner"/>

在manifest的根标签下添加如下两行代码:

<instrumentation 
    android:name="android.text.InstrumentationTextRunner"
    android:targetPackage="com.example.exam"
    android:label="Test for my app">
</instrumentation>

 

建一个测试类,这个类必须继承AndroidTestCase



 

 

JUnit将为我们捕捉异常并打印在JUnit的控制台。所以只需要我们抛出异常就可以了。

 

package com.example.exam;

import android.test.AndroidTestCase;

public class Test extends AndroidTestCase {
	public void myFirstText() throws Exception{
		int i=2+2;
	}
}

 

点击window->show view选择outline 和java中的JUnit,查看JUnit蓝色条表示通过。

 



 



 


    
[3] (3)Activity生命周期
    来源: 互联网  发布时间: 2014-02-18
(三)Activity生命周期

      新的activity启动后,前一个activity就会停止,系统将其保存到一个历史栈中。返回时,顶层的activity就会被销毁,之前的activity就会重新显示在屏幕上。当然,如果系统内存不足,后台的activity就会被销毁。

 

     androidmanifest中的intent-filter标签指定了初始启动的activity

 

Activity生命周期:由android系统管理

onCreate()

onStart()

onRestart()

onResume()

onPause()

onStop()

onDestroy()

 


 

 

 

 

 

 

 

package com.example.ex;

import android.os.Bundle;
import android.util.Log;
import android.app.Activity;

public class MainActivity extends Activity {

	private static final String LIFETAG="Aclifecycle";

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}
	
	@Override
	protected void onStart(){
		super.onStart();
		Log.d(LIFETAG,"onstart method is executed");
	}
	@Override
	protected void onResume(){
		super.onResume();
		Log.d(LIFETAG,"onresume method is executed");
	}
	@Override
	protected void onRestart(){
		super.onRestart();
		Log.d(LIFETAG,"onrestart method is executed");
	}
	@Override
	protected void onPause(){
		super.onPause();
		Log.d(LIFETAG,"onpause method is executed");
	}
	@Override
	protected void onStop(){
		super.onStop();
		Log.d(LIFETAG,"onstop method is executed");
	}
	@Override
	protected void onDestroy(){
		super.onDestroy();
		Log.d(LIFETAG,"ondestroy method is executed");
	}

	
}

启动程序:

执行3个生命周期方法:

onCreate()     activity第一次创建时调用 

onStart()        activity对用户即将可见时调用

onResume()   activity即将与用户交互时调用 磁石activity进入栈顶

在这之后总是调用onpause()方法

 



 

按下模拟器的拨号按钮,activity失去焦点,观察logcat中信息:



 

 

onPause()在activity启动另一个activity时调用。下一个activity必须等待这个方法返回后再启动。

onStop()在一个新的activity启动,其他activity被切换到前台,当前activity被销毁时都会调用。

 

点击返回键:



 

当activity从stopped状态启动时调用OnRestart()方法,后面总是调用onstart()方法。

 

再次按返回键,关闭activity:


 

 

 

    很多时候,在关闭一个activity后,用户期望再次返回到哪个activity,它仍保持离开时的样子,这时候就需要考虑如何保存activity。

    为了获取activity被杀死前的状态,应该为activity实现onSaveInstanceState()方法。它在activity被系统销毁前调用。

    用户造成的销毁(如按下返回键),不会调用。

    最好用onpause()方法来保存在停止与用户交互前更改过的数据。

 

总结:

oncreat() ondestroy()创建和销毁

onstart() onstop() 可见和不可见

onresume() onpause()焦点和无焦点

onrestart() 在onstop()以后却没有执行ondestroy()方法时调用。如调用了ondestroy则调用onCreat。

 

 

 

 

 

 

 

 

 


 


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3