Android 建立项目遇到的问题(真实经历)和一个简单App项目

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nzzl54/article/details/46501883

一、Android第一个项目:先看个项目,遇到的问题写在了后面


1.Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序

在用eclipse IDE开发android应用程序之前,你首先要创建一个Android工程,并且建立一个启动配置,在此之后你才可以开始编写,运行,以及调试你的应用程序。

打开Eclipse,单击菜单栏的“File”->把鼠标光标移动到“New”->“Project...”在弹出的列表框中,在弹出的窗口中,展开“Android”项,选择“Android Applicaion Project”,然后“Next”;在新弹出的窗口中按下图提示填写相关信息,一路“Next”,直到点击“Finish”,这样第一个Android程序就创建好了,这是你会发现Eclipse左边多了一个你新创建的Android项目。


2.按照以下步骤为Eclipse版本的应用程序创建合适的启动项:

   1). 打开启动项管理工具。
          o 在 Eclipse 3.3 (Europa)的版本中,酌情选择Run > Open Run Dialog... or Run > Open Debug Dialog... 。
          o 在Eclipse 3.4 (Ganymede)版本中,酌情选择Run > Run Configurations... or Run > Debug Configurations... 。
   2). 在左边的工程类型列表选择Android Application选择,双击(或者点击右键选择new),创建一个新的启动项。
   3). 输入启动项名称。
   4). 在Android标签中,浏览要开始的工程和Activity 。
   5). 在Target标签中,设置想要显示的屏幕及网络属性,以及其他任何模拟器启动选项。
   6). 你可以在Common标签中设置更多的选项.
   7). 按下Apply保存启动配置,或者按下Run或Debug()。



3.Hello, Android!

   1) New project

   2)会自动生成一个类“Helloworld ”

    package com.android.hello;
    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.TextView;

   public class Helloworld extends Activity {
      /** 活动第一次被创建后调用。**/
     @Override
     public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);

    //===========Main Code===================

    TextView tv = new TextView(this);
    tv.setText("Hello world!");

    //=====================================
     setContentView(tv);
      }

   }

   3)在Android里,用户接口由一些称之为视图的不同层次的类组成。一个视图就是一个简单的对象。如单选框,动画控件,一个文本框(我们的例子里的),我们称处理文本的这样一个子视图就叫TextView。

   4)选择Run>->Open Run  Configurations菜单。下一步,选择“Android Application”,点击在左上角(按钮像一张纸上有个“+”号)或者双击“Android Application”。有个新的选项“New_configuration”。将名字改得更形象一点,如“Hello,Android”,然后按Browse按钮选择你的项目,(如果你Eclipse里有多个Android项目需要打开,确定要选择正确)插件会会自动扫描你项目里的活动子类,然后在“活动”的下拉菜单里加载。如果你的“Hello,Android”项目只有一个,它将被设置为默认项目,然后你可以继续。点击“Apply”按钮,点击“Run”按钮,Android的模拟器启动。一启动你的程序就会出现,当一切OK,你可以看到:hello world!


4.你刚刚完成的“Hello world!”的例子使用的是我们称为“可编程”的UI层,意思是你通过编写代码来组建UI层。当你开发了足够多的UI程序,你会发现一些很糟糕的现象: 一些小的变化需要你做大量的代码改动。你常常会忘记将View连接起来,这样会导致一些错误,浪费你很多时间去调试代码。这就是Android为什么提供一个可变化的UI开发模块:基于XML的文件。最简单解释这个概念就是演示个例子。这里有个XML的文件,它能达到和你刚才完成代码同样的效果:

     <?xml version="1。0" encoding="utf-8"?>
     <TextView xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:text="Hello world!"/>

      通常Android里XML文件结构是很简单的。只是一些标记的树形集合,每个标记就是一个视图类。在这个例子中,它就是一个简单的TextView元素的树,你可以在XML文件里使用任何扩展类的名字作为你的标记,这也包括你在你的自己的代码里定义的名字。这个结构使得你能使用简单结构和语法快速的组建UI,这种模型就像网站的开发模型,你能够将UI和程序逻辑分开,单独获取或者填充数据。4个XML属性1.png and 2.png



Eclipse插件为你创建了这些XML文件中的一个。在我们上面的范例,我们根本没有使用过它。在包的管理器里,展开目录/res/layout,编辑
main.xml 文件,替换上面的文本然后保存修改。在从代码目录里打开R.java文件,你可以看到他们像这样:

        public final class R {
public static final class attr {
};
public static final class drawable {
public static final int icon=0x7f020000;
};
public static final class layout {
public static final int main=0x7f030000;
};

public static final class string {
public static final int app_name=0x7f040000;
};
};

最后要做的就是使用你最新版本的XML修改你的Helloworld代码去代替以前的编码。这个有例子说明重新写过的类的模型,你可以看到,代码变得非常简单:

      //============Main Code===============

      public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      }

      //====================================

和之前看到的一样!这点表明两种不同的构建方式都能达到同样的结果。



二、Android初学者建立项目遇到的问题(真实经历)

1.当环境自认为都配置好后,于是在Eclipse尝试新建Android工程,建到最后一步无法finished,提示如下:


提示很明显,缺少一个依赖包,下载这个library就好了。个人认为最快捷的方法就是找到包含这个library的SDK,重要的是覆盖原来的tools目录,覆盖后重新打开SDK Manager,发现就有这个library,这个办法虽然很笨,但是个人认为很实用,特别是对于无法更新SDK的朋友,毕竟百度资源很丰富(注意:如果不想更新SDK,最好下载的SDK是全量包,包含尽可能多的项目所需API):


2.当工程建立好后,本来以为可以正常的编码了,结果发现在Eclipse中创建一个工程有时会报这样的错误ERROR: In <declare-styleable> MenuView, unable to find attribute android:preserveIconSpacing这样的错误一般是有环境或者Eclipse工具导致的,换一个工作空间或者重新导入一下就会好的。结果换了一个工作空间,发现这个问题也没有了

PS:谷歌的兼容性不太给力,建议建立工程的时候别选2x~5x,否则可能工程也会报错,可以选2x~4x和4x~5x之类的


3. 当一切都处理好,弄了个Hallo_World来试试工程是否能运行(用eclipse新建一个android应用程序之后,点住这个项目,然后右键菜单--> 
run as --> Android application 即可,这个过程也会稍微的长点,大概2到3分钟,因为这个模拟器要跑一遍Android系统之后才能安装加载你的应用程序,启动完成后一般都需要模拟器解锁,老的版本你可以按Menu键,新的版本你需要手动滑动屏幕上的解锁键。 )这时模拟器又给我报错:

Failed to allocate memory: 8
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

别人提供最简单的解决方法是:直接在新建模拟器的时候把它的内存RAM设置在1024以下就可以,最好设置成512


1.当环境自认为都配置好后,于是在Eclipse尝试新建Android工程,建到最后一步无法finished,提示如下:


提示很明显,缺少一个依赖包,下载这个library就好了。个人认为最快捷的方法就是找到包含这个library的SDK,重要的是覆盖原来的tools目录,覆盖后重新打开SDK Manager,发现就有这个library,这个办法虽然很笨,但是个人认为很实用,特别是对于无法更新SDK的朋友,毕竟百度资源很丰富(注意:如果不想更新SDK,最好下载的SDK是全量包,包含尽可能多的项目所需API):


2.当工程建立好后,本来以为可以正常的编码了,结果发现在Eclipse中创建一个工程有时会报这样的错误ERROR: In <declare-styleable> MenuView, unable to find attribute android:preserveIconSpacing这样的错误一般是有环境或者Eclipse工具导致的,换一个工作空间或者重新导入一下就会好的。结果换了一个工作空间,发现这个问题也没有了

PS:谷歌的兼容性不太给力,建议建立工程的时候别选2x~5x,否则可能工程也会报错,可以选2x~4x和4x~5x之类的


3. 当一切都处理好,弄了个Hallo_World来试试工程是否能运行(用eclipse新建一个android应用程序之后,点住这个项目,然后右键菜单--> 
run as --> Android application 即可,这个过程也会稍微的长点,大概2到3分钟,因为这个模拟器要跑一遍Android系统之后才能安装加载你的应用程序,启动完成后一般都需要模拟器解锁,老的版本你可以按Menu键,新的版本你需要手动滑动屏幕上的解锁键。 )这时模拟器又给我报错:

Failed to allocate memory: 8
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

别人提供最简单的解决方法是:直接在新建模拟器的时候把它的内存RAM设置在1024以下就可以,最好设置成512

猜你喜欢

转载自blog.csdn.net/nzzl54/article/details/46501883