1.一点小感悟

这两天编程天天出现空指针异常、找不到活动什么的异常,总之是各种不在编译执行时报错的异常,而在编写出的apk应用程序上报错,我就纳闷了,java好歹还给提个错,Android总是默默无闻的,这点让我很郁闷,虽然Android也有专门控制台输出给提示各种结果吧!!但是提示的总是一泻千里,让编程者乍一看,丈二和尚摸不着头脑,经老师的点拨终于悟透了其中的奥妙,在这里与大家分享一下。看见一大推错误不要慌。分析思路为:先从错误第一行看起,一般都找“fatal exception:main”(致命的意外),然后看他的下一行:比如一个拨号器里的错误:“android.content.ActivityNotFoundException:no Actiivityfound to handle Intent{act=android,intent.action.All_APPsdat=tel:xxx-xxx-xxxx}

这就找到了错误的根源,看一下他的提示不难发现这是Activity活动没有被发现的异常,返回源代码可以找出这一行:Intentintent =new Intent(Intent.ACTION_ALL_APPS,Uri.parse("tel"+et.toString()));不难发现这里的Intent. .ACTION_ALL_APPS打错代码了,拨号器嘛,当然是Intent.ACTION_CALL了,最重要也是最容易被忽略的一个问题是:”tel:”,记住tel后面有冒号,千万不能忘了加,不加会一直提醒你Activity没有被创建。所以问题到这里已经解决。

综上所述,IT行业考验的就是一个细心和耐心,大部分人一看编写的时候没报错,就没有了找错的耐心了,当你有了找错的思路,再静下心来,仔细看看Android控制台提示的错误,回头看一下相应提示行的代码,问题其实很好解决,不好解决的只有你的心态。

2.通过这几天的学习,列举一些Android错误:

failed to find provider info forcom.google.settings未能找到信息,com.google.settings供应商

atdalvik.system.NativeStart.main(Native Method)本机主要方法

Unable to get view server version fromdevice emulator-5554无法获得视图服务器版本从设备模拟器- 5554

Unable to get view server protocolversion from device emulator-5554无法获得视图服务器协议版从设备模拟器- 5554)

no Activity found to handle Intent没有活动发现处理的意图

Unable to load the window list from device emulator-5554无法载入窗口列表从设备模拟器- 5554

3.下面把一个简单的拨号器代码写一下。

下图为效果图:

packagecn.csdn.hr.activity;

importandroid.app.Activity;

importandroid.content.Intent;

importandroid.net.Uri;

importandroid.os.Bundle;

importandroid.text.Editable;

importandroid.view.View;

importandroid.widget.Button;

importandroid.widget.EditText;

publicclass CallPhoneActivity extends Activity {

/** Called when the activity is firstcreated. */

@Override

public void onCreate(BundlesavedInstanceState) {

super.onCreate(savedInstanceState);

// 设置显示的视图界面

setContentView(R.layout.main);

// 获取该布局文件中相应的组件

Button callPhoneBtn = (Button)findViewById(R.id.callPhoneBtn);

// 为按钮注册点击事件

callPhoneBtn.setOnClickListener(newView.OnClickListener() {

@Override

public void onClick(View v) {

//获取输入框|可编辑框对象,进行拨号设置

EditText editText = (EditText)findViewById(R.id.editCallPhone);

// 获取输入的电话号码

Editable editable =editText.getText();

//设置拨号意图

Intent intent = newIntent(Intent.ACTION_CALL,Uri.parse("tel:"+editable.toString()));

// “tel:"+editable.toString()”这是固定的格式,拨号设置时必须加上“tel:”前缀;

//执行意图

startActivity(intent);

}

});

}

}

4.布局

LinearLayout(线性布局)、AbsoluteLayout(绝对布局)、RelativeLayout(相对布局)、TableLayout(表格布局)、FrameLayout(帧布局)

布局还分为为水平布局(horizontal)和垂直布局(vertical)。

5.打开Android模拟器时,出现无信号,拔打电话或发短信时,提示“尚未注册网络”错误信息的解决方案如下。

l场景一:你的电脑没有连接上互联网,同时也没有在局域网。

解决办法:右键点击网上邻居,选择"属性",在网络连接窗口中右键点击"本地连接",选择"属性",设置TCP/IP属性如下:

IP地址:192.168.1.100

子网掩码:255.255.255.0

默认网关:192.168.1.100

首选DNS服务器:192.168.1.100

l场景二:你的电脑没有连接上互联网,但在局域网。

解决办法:右键点击网上邻居,选择"属性",在网络连接窗口中右键点击"本地连接",选择"属性",设置TCP/IP属性如下:

IP地址:设置成你所在局域网的IP,如:192.168.1.100

子网掩码:设置成你所在局域网的掩码,如:255.255.255.0

默认网关:设置成你所在局域网的网关,一般网关的IP格式为:*.*.*.1,如:192.168.1.1

首选DNS服务器:设置成你所在局域网的路由器IP,一般路由器的IP格式为:*.*.*.1,如:192.168.1.1

l最后一种解决方案是:让你的电脑连接上互联网。

更多相关文章

  1. Android源码分析之WindowManager.LayoutParams属性更新过程
  2. android:布局参数,控件属性及各种xml的作用
  3. Android源码分析之WindowManager.LayoutParams属性更新过程
  4. 从零开始--系统深入学习android(实践-让我们开始写代码-Android框
  5. Android(安卓)studio Gradle home can not be found - Android(
  6. 《Android开发从零开始》——10. LinearLayout学习
  7. Android属性 bulid.prop等
  8. Android(安卓)ImageView 的scaleType属性
  9. 安卓,rebuild apk错误解决

随机推荐

  1. TypedefViewTest
  2. ListView设置Header无分隔线
  3. Android版本更新及提示安装
  4. Android基础知识学习——界面转换(完善)
  5. Android(安卓)log日志输出到文件
  6. Android(安卓)EditText禁止复制粘贴
  7. Android(安卓)listview使用
  8. android EditText不弹出软键盘的方法
  9. 通过ActivityManager 管理activity
  10. HttpHuiApplication--下载图片url,HttpUR