Eclipse开发Android应用程序入门

在Eclipse上搭建Android开发环境的详细步骤 在开始之前,确保你已经安装了Java开发工具包(JDK)。你可以从Oracle官方网站下载适用于你的操作系统的JDK版本,并按照安装向导进行安装。为了在Eclipse上搭建Android开发环境,你需要按照以下步骤进行操作。在Eclipse中创建一个新的Android项目,将上述代码复制到MainActivity.java文件中。接下来,我们提供一个简单的Android应用程序示例,以帮助你开始开发。至此,你已经成功在Eclipse上搭建了Android开发环境。第一步:安装Java开发工具包(JDK) 阅读详情

Eclipse开发Android应用程序入门




By Chris Blunt


翻译:赵锟
原文出处:http://www.smashingmagazine.com/2010/10/25/get-started-developing-for-android-with-eclipse/


如今的移动设备应用程序开发充满着让人振奋的东西。功能强大的硬件支持,平板电脑,多样的软件平台(塞班 OS,iOS,WebOS,Windows Phone 
7…),移动设备开发者前景充满了机会和挑战。


当你想要开始开发你的移动设备程序时,如此多的选择可能让你产生困扰。究竟应该选择神马平台?我应该学习神马语言?为你计划的项目选择神马工具?在本教程中,你将学会如何在Google公司的开源移动设备操作系统Android下开发应用程序。


为神马选Android


Android是一个基于Linux内核的开源平台, 并且被安装在来自于不同厂商的上千种设备中。Android将各种移动设备的硬件如 
电子罗盘,摄像头,GPS,方向感应,等等暴露给你的应用程序。

Android的免费开发工具可以让你以0成本开始编写你的软件。当你想向世界展示你的应用程序的时候,你可以将你的软件发布到Google的 
Android 市场。向Andriod Market 发布程序只一次性的收取注册费用(25元),并且不像苹果的App Store 
,对每一次的提交都要做检查,除非你的程序明显地违法,在经过一个快速检查的流程后,才能让你的程序提供给客户下载和购买。


下面是Android对于开发者的优点:



  • Android的SDK可以在Windows,Mac和Linux上运行,因此你不需要为了开发环境支付额外的新硬件投入。(译者注:我曾近在Win7 64x 
    + VMWare上成功的安装Mac Snow leopard + XCode的开发环境,对于爱用盗版的人来说,这点MS优势不是很大啊) 
  • 构建于JAVA上的SDK。如果你熟悉JAVA语言,你就是事半功倍了。(译者注:这个酷壳有篇文章讨论过,大家可以参看:http://coolshell.cn/) 
  • 你只要在Android Market上发布应用程序,你将有潜在的成千上万的用户。而且你不一定非要把程序发布在Android 
    Market上,你还可以在你的博客上发布。而且有传言,Amazon已近在最近准备搭建他们自己的Android 应用程序商店了。 
  • 除了了技术性的SDK 
    文档
    外,还可以找到其他更多的使用者和开发者的资源。

闲话少说——下面让我们进入正题,开始开发我们的Android应用程序。


安装Eclipse和Android SDK


Android应用程序的推荐开发环境是带有Android开发包插件(Android Devlopment Toolkit 
(ADT))的Eclipse。我在这里简要说明一下安装流程。如果你需要更多的细节,Google的开发人员网页中详尽地解释了具体的安装配置过程



  • 为你的平台下载Android SDK(Windows , Mac OS X 或者 
    Linux)。 
  • 在你的硬盘上解压下载文件 (在Linux, 我使用 /opt/local/). 
  • 如果你没有安装Eclipse,下载并安装Eclipse 
    JAVA 集成开发环境
    包。 用于编程的话, Google推荐使用Eclipse 3.5 (Galileo). 
  • 运行Eclipse 并选择Help->Install New Software. 
  • 在Available Software窗口中点击Add按钮。 
  • 进入 Android Development Tools 的Name输入框, 在Location 
    输入框输入https://dl-ssl.google.com/android/eclipse/ 
  • 检查可用软件中有Developer Tools并点击OK按钮。这将安装Android Development Tools 和DDMS, 
    Android的调试工具。



  • 点击Next和Finish按钮以完成安装,安装完成后,你需要重启你的Eclipse一次。 
  • 在Eclipse重启后,选择Window->Preference 后你可以在分类列表中看到Android这一项了。 
  • 现在需要告诉Eclipse,你的Android SDK安装在什么地方。点击Android项后浏览选择你解压后的Android 
    SDK所在的路径。例如/opt/local/android-sdk。



  • 点击OK按钮,保存信息。

选择Android 平台


在你开始编写Android应用程序之前,你需要为你需要开发应用程序的Android设备下载SDK平台。每个平台都有可以安装在用户设备上的不同版本的SDK。对于Android1.5或以上版本,有两个可用的平台: 
Android Open Source Project 和 Google.


Android Open Source Project 平台是开源的,但是不包括Google公司的私有化扩展,比如Google 
Map。如果不选择使用Google的API,Google的地图功能就不会在你的应用程序中生效。除非你有特别的原因,否则我们推荐你选择Google平台,因为这样你可享受到Google的扩展类库提供的便利。



  • 选择Window Android SDK and AVD Manager. 
  • 点击左栏中的Available Packages 并选择选择Respository中有效的Android SDK平台。 
  • 你可以选择列表中所需要的平台,或全选下载所有有效的平台。当你选择完毕,单击Install Selected 并完成安装。 


一旦成功的下载所有的平台后,你就可以准备开始开发Android应用程序了。


创建一个新的Android项目


Eclipse的新建项目向导能为你创建一个新的Android项目,并生成可以开始运行的文件和代码。通过向导生成代码,可以让你马上得到一个Android程序运行的直观映像并为你提供了一个帮助你快速入门的方法:



  • 选择 File->New->Project… 
  • 选择Android Project 
  • 在New Project 对话框, 键入如下的设置:







1
2
3
4
5
6

Project Name: BrewClock
Build Target: Google Inc. 1.6 (Api Level 4)
Application Name: BrewClock
Package Name: com.example.brewclock
Create Activity: BrewClockActivity
Min SDK Version: 4


在点击了完成按钮之后,Eclipse将为你创建一个新的可以运行的Android项目。注意,你通知了Eclipse生成了一个叫做BrewClockActivity的Activity。这个Activity的代码用于运行你的应用程序。生成的代码将在程序运行时非常简单地显示一条“Hello 
World”消息。


包

包名是你的应用程序标示。当你开始准备在Android 
Market上发布你的应用程序的时候,Android用这个标识符精确地记录你的应用程序的更新过程,因此让包名唯一是非常重要的。尽管我们在这里使用了com.example.brewclock这样的名字空间,对于真实的应用程序,你应该选择类似于com.你的公司名.你的应用程序名 
这样的包名。


SDK 版本

Min SDK Version 
是你的Android程序所能运行得最早版本号。对于每个新发布的Android,SDK会增加并修改一些方法。通过选择一个版本号,Android(Android 
Market)会知道你的应用程序能运行在等于或晚于指定版本的设备之上。


运行你的应用程序


现在让我们开始在Eclipse中运行我们的应用程序。由于是第一次运行,Eclipse将会询问你的项目类型:



  • 选择Run->Run 或 按下 Ctrl+F11. 
  • 选择Android Application 并点击 OK 按钮.

Eclipse 
将会在一个Android设备上运行一个应用程序。在这个时候,由于你没有任何Android设备,因此在运行时一定会返回一个失败,并且询问你是否要新建一个Android的虚拟设备。(AVD)


Android 虚拟设备

Android 虚拟设备 (AVD) 
是一个模拟真实世界中Android设备的模拟器,例如移动电话或平板电脑。你可以在不买任何真实Android设备情况下,使用AVD测试你的应用。


你可以创建任意多个你喜欢的AVD,每个可以建立在不同版本的Android平台之上。对于你创建的每个Android设备,你可以配置不同的硬件属性,比如是否具有物理键盘,是否支持GPS,摄像头的像素,等等。


在你开始运行你的应用程序之前,你需要创建你的AVD,来运行指定的SDK平台(Google APIs 1.6)。


现在让我开始:



  • 如果还没有开始运行你的应用程序,点击run(或按下 Ctrl+F11)。 
  • 当目标设备弹出警告,点击Yes 以创建新的AVD。 
  • 单击Android SDK and AVD Manager 对话框内的New 按钮. 
  • 为你的AVD键入如下的设置:







1
2
3
4

Name: Android_1.6
Target: Google APIs (Google Inc.) - API Level 4
SD Card Size: 16 MiB
Skin Built In: Default (HVGA)


  • 单击 Create AVD 让Android为你创建一个新虚拟设备。 
  • 关闭the Android SDK and AVD Manager 对话框.


运行代码

再次运行你的应用程序(Ctrl+F11)。 Eclipse 将build 
你的项目并运行一个新的AVD。记住,AVD模拟了一个完全的Android系统,因此你需要有耐心来等待这个缓慢的启动过程,就如同你重启真实的Android设备一样。一个好的做法是不要关闭你的AVD,直到你完成了你一天的工作。
当你的模拟器启动后,Eclipse自动地安装并运行你的应用程序。



开发你第一个Android应用


生成的代码能良好的运行,但是你真正想要的是开发一个真实的应用程序。为此,我们首先果一个咸蛋的设计流程,并开始创建一个可以让你部署在Android设备上的应用。


大部分的开发者(包括我自己)都喜欢每天一杯咖啡或茶。在下一节中,你将开发一个简单的泡茶计数器应用程序来记录用户泡了多少杯茶,并为泡每杯茶做一个定时器。


你可以从GitHub下载整个教程的源代码.


设计用户界面

在开发任何Android应用程序之前的第一步就是设计和开发用户界面。下面是一个我们这个应用程序的用户界面的一个概览。



用户将能通过+和-按钮设置一个泡茶的定时器。当单击开始按钮,定时器将开始按指定的时间递减。除非用户再次点击按钮以取消计时,否则当定时器为0的时候,累计的泡茶计数brew将增加1。


开发用户界面

Android 用户界面或布局layouts, 
是通过XML文档来描述的,可以在项目的res/layouts目录下找到。在之前运行在模拟器上代码中,我们可以看到由eclipse自动生成的布局代码在res/layouts/main.xml 
中。


Eclipse有一个图形化的布局设计器,通过在屏幕上的拖拽控制来完成布局的设计,然而,我却发现直接写XML并使用图形布局来预览是更容易的方式。


现在让我们对main.xml做一些工作以达到上图的效果:



  • 在Eclipse中通过双击PackageExplorer的res/layouts/main.xml 来打开xml。 
  • 点击屏幕下方main.xml 来切换为xml视图。

将main.xml中内容改为如下的内容:








1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

# /res/layouts/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
  <LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="10dip">
    <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:textSize="20dip"
      android:text="Brews: " />
    <TextView
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="None"
      android:gravity="right"
      android:textSize="20dip"
      android:id="@+id/brew_count_label" />
  </LinearLayout>
  <LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="center"
    android:padding="10dip">
    <Button
      android:id="@+id/brew_time_down"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="-"
      android:textSize="40dip" />
    <TextView
      android:id="@+id/brew_time"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="0:00"
      android:textSize="40dip"
      android:padding="10dip" />
    <Button
      android:id="@+id/brew_time_up"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="+"
      android:textSize="40dip" />
  </LinearLayout>
  <Button
    android:id="@+id/brew_start"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:text="Start" />
</LinearLayout>

正如你所见的,Android的XML布局文件是繁琐的,但却能让你控制到屏幕的各个元素。


在Android中最重要的接口元素是布局Layout容器,例如例子中使用的LinearLayout 
。这些元素对于用户是不可见的,但是却扮演者例如Buttons 和TextViews这些元素的布局容器。


Android中有几种不同类型的布局视图layout view,每一种都用于开发不同的布局。如同LinearLayout 和AbsoluteLayout 
,TableLayout 可以让你使用更为复杂的基于表格结构的布局。你可以在SDK的API文档的通用布局对象中查找到更多的布局。


关联你的布局Layout与代码

保存你的布局,在Eclipse中点击Run图标或按下Ctrl+F11重新在模拟器中运行你的程序。你现看到不是之前出现的Hello 
World消息了,你将看到Android显示了一个新的界面。


如果点击界面上的任何按钮,他们将期望的显示为高亮,但是不会执行任何操作。现在让我们在布局修改后改进一下我们的源码:


# /src/com/example/brewclock/BrewClockActivity.java








1
2
3
4
5
6
7
8
9
10
11
12
13
14

...
import  android.widget.Button;
import  android.widget.TextView;
public  class  BrewClockActivity extends  Activity {
  /** Properties **/
  protected  Button brewAddTime;
  protected  Button brewDecreaseTime;
  protected  Button startBrew;
  protected  TextView brewCountLabel;
  protected  TextView brewTimeLabel;
  ...
}

下一步,我们将修改调用onCreate。当Android启动你的应用程序的时候,Android会首先调用这个方法。 
在Eclipse生成的代码中,onCreate把activity的视图设置成R.layout.main。这行代码告诉Android解释我们的布局配置XML文件,并显示它。


资源对象

在Android中,R是一个自动生成的对象,这是一个特殊的对象,你可以在代码中通过这个对象访问项目中的资源(布局,字符串,菜单,图标,…) 
。每个资源都有一个给定的id。在上面的那个布局文件中,有一些@+id XML 属性。我们将通过这些值来关联布局中的Buttons 
与TextViews和我们的代码和:


# /src/com/example/brewclock/BrewClockActivity.java








1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

...
public  class  BrewClockActivity extends  Activity {
  ...
  public  void  onCreate(Bundle savedInstanceState) {
    super .onCreate(savedInstanceState);
    setContentView(R.layout.main);
    // Connect interface elements to properties
    brewAddTime = (Button) findViewById(R.id.brew_time_up);
    brewDecreaseTime = (Button) findViewById(R.id.brew_time_down);
    startBrew = (Button) findViewById(R.id.brew_start);
    brewCountLabel = (TextView) findViewById(R.id.brew_count_label);
    brewTimeLabel = (TextView) findViewById(R.id.brew_time);
  }
}

监听事件

为了检测到用户单击我们的按钮,我们需要实现一个监听器listener。你可能会从其他的事件驱动系统中熟悉监听器或回调函数callbacks。比如Javascript/JQuery事件或Rails的回调函数。


Android通过Listener接口提供相似的机制,例如OnClickListener,这个接口中定义了那些会被事件触发的方法。当用户点击屏幕的时候,实现OnClickListener 
接口将会通知你的应用程序,并告诉他们所按得屏幕按钮。你当然也需要告诉每个button的ClickListener,以便Android知道具体通知到那个监听器:


# /src/com/example/brewclock/BrewClockActivity.java








1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

...
// Be sure not to import
// `android.content.dialoginterface.OnClickListener`.
import  android.view.View.OnClickListener;
public  class  BrewClockActivity extends  Activity
  implements  OnClickListener {
  ...
  public  void  onCreate(Bundle savedInstanceState) {
    ...
    // Setup ClickListeners
    brewAddTime.setOnClickListener( this );
    brewDecreaseTime.setOnClickListener( this );
    startBrew.setOnClickListener( this );
  }
  ...
  public  void  onClick(View v) {
    // TODO: Add code to handle button taps
  }
}

下一步,我们将增加每个按钮按下的处理过程。我们将为Activity类增加4个属性,这些属性将用来让用户设置和记录我们泡茶时间,泡茶计数,计时器是否在运行的标志。


# /src/com/example/brewclock/BrewClockActivity.java








1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

...
public  class  BrewClockActivity extends  Activity
  implements  OnClickListener {
  ...
  protected  int  brewTime = 3 ;
  protected  CountDownTimer brewCountDownTimer;
  protected  int  brewCount = 0 ;
  protected  boolean  isBrewing = false ;
  ...
  public  void  onClick(View v) {
    if (v == brewAddTime)
      setBrewTime(brewTime + 1 );
    else  if (v == brewDecreaseTime)
      setBrewTime(brewTime - 1 );
    else  if (v == startBrew) {
      if (isBrewing)
        stopBrew();
      else
        startBrew();
    }
  }
}

注意我们使用了Android提供的类CountDownTimer 
。这让我们非常容易的创建和开始一个简单的递减计数,这个递减计数在递减运行的时候,每当执行一个递减就发出一个通知。你将在下面的startBrew 
方法中使用到这个计数器。


在下面的方法是所有处理逻辑,这些处理逻辑用于处理设置泡茶时间,开始停止计数和维护计数器。我们同样地在onCreate方法中来初始化我们的 
brewTime和 brewCount变量。


将这些代码放入到不同的类中是一种好做法。但是为了简洁,我把我们所有的代码都放到了BrewClockActivity中:


# /src/com/example/brewclock/BrewClockActivity.java








1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76

...
public  class  BrewClockActivity extends  Activity
  implements  OnClickListener {
  ...
  public  void  onCreate(Bundle savedInstanceState) {
    ...
    // Set the initial brew values
    setBrewCount( 0 );
    setBrewTime( 3 );
  }
  /**
   * Set an absolute value for the number of minutes to brew.
   * Has no effect if a brew is currently running.
   * @param minutes The number of minutes to brew.
   */
  public  void  setBrewTime( int  minutes) {
    if (isBrewing)
      return ;
    brewTime = minutes;
    if (brewTime < 1 )
      brewTime = 1 ;
    brewTimeLabel.setText(String.valueOf(brewTime) + "m" );
  }
  /**
   * Set the number of brews that have been made, and update
   * the interface.
   * @param count The new number of brews
   */
  public  void  setBrewCount( int  count) {
    brewCount = count;
    brewCountLabel.setText(String.valueOf(brewCount));
  }
  /**
   * Start the brew timer
   */
  public  void  startBrew() {
    // Create a new CountDownTimer to track the brew time
    brewCountDownTimer = new  CountDownTimer(brewTime * 60  * 1000 , 1000 ) {
      @Override
      public  void  onTick( long  millisUntilFinished) {
        brewTimeLabel.setText(String.valueOf(millisUntilFinished / 1000 ) + "s" );
      }
      @Override
      public  void  onFinish() {
        isBrewing = false ;
        setBrewCount(brewCount + 1 );
        brewTimeLabel.setText( "Brew Up!" );
        startBrew.setText( "Start" );
      }
    };
    brewCountDownTimer.start();
    startBrew.setText( "Stop" );
    isBrewing = true ;
  }
  /**
   * Stop the brew timer
   */
  public  void  stopBrew() {
    if (brewCountDownTimer != null )
      brewCountDownTimer.cancel();
    isBrewing = false ;
    startBrew.setText( "Start" );
  }
  ...
}

这段代码唯一和Android相关的就是使用setText方法来设置文本的显示文字。在startBrew方法中,我们创建,并开始了一个CountDownTimer来开每秒递减计数直到计数器为0。注意,我们定义了CountDownTimer以内联方式监听onTick 
和 onFinish方法。 onTick 方法将每1000毫秒(1秒)执行一次,并递减, 当计数器为0的时候,onFinish方法被调用。


避免在你的代码中硬编码

为了使教程代码简单,我故意地在程序中将控件的标号直接写到字串中(例如: “Brew Up!”, “Start”, “Stop”) 
通常,这不是一个好的做法,因为如果在大型项目中,这样做会使得修改变得麻烦。


Android 提供了一种简洁的方法让你使用R对象来使字符串和代码分离。R 
让你在xml文件(res/values/strings.xml)定义所有你程序中字符串,并让你可以在代码中应用到这些字符串。例如:


# /res/values/strings.xml








1
2

<string name="brew_up_label">Brew Up!</string>
...

# /res/com/example/brewclock/BrewClockActivity.java








1
2
3

...
brewLabel.setText(R.string.brew_up_label);
...

现在,如果你想改变Brew Up! 
字样,你只要一次性的修改strings.xml文件就行了。你的应用将生成一堆代码来保证你程序中所有使用到这些字符串的地方都能被生效!


运行Brew Clock

代码完成之后,现在是试运行程序的时候了。单击Run 或 Ctrl+F11 在模拟器中启动我们的应用. 
所有都运行良好,你将会看到你创建的用户界面在准备时间一到就可以喝你所泡的茶了!试着设置不同的时间,并点击Start 观看倒计时。



总结


在这个关于Android的简单介绍中,你已学会如何安装Android SDK和Eclipse的Android 
开发工具插件(ADT)。你也学会如何创建一个模拟设备,并通过这个设备来测试你的应用程序。你还学会了如何开发Android应用程序。上面了那些作为标题的关键概念在以后你自己开发Android应用程序的时候将会经常用到。


我们希望,这个教程能激发你的开发移动应用程序的欲望,并步入这个令人激动的领域。Android为当前和即将到来的移动设备应用程序开发提供了一条宽广的道路。如果你已经开发你自己的移动应用,请在评论中告诉我们。


(ik), (vf)


(全文完)

使用Eclipse开发Android应用并在手机上运行 创建Android项目:在Eclipse中,选择“File”菜单,然后选择“New”和“Android Application Project”。在Android应用开发中,Eclipse是一种常用的集成开发环境(IDE),它提供了丰富的工具和功能来简化Android应用程序的开发过程。构建和运行应用程序:在Eclipse中,选择“Project”菜单,然后选择“Build Project”以编译您的应用程序。然后,选择“Run”菜单,然后选择“Run”以在模拟器或连接的Android设备上运行应用程序。 阅读详情

相关推荐

Eclipse配置Android开发环境及项目运行

Android是目前最流行的移动操作系统之一,而Eclipse是一个广泛使用的集成开发环境(IDE),提供了丰富的功能和插件来支持Android应用程序的开发。本文将指导您如何搭建Eclipse的Android开发环境,并运行Android项目。希望本文对您配置Eclipse的Android开发环境并运行Android项目有所帮助。至此,您已成功搭建了Eclipse的Android开发环境,并成功运行了一个Android项目。Eclipse配置Android开发环境及项目运行。第三步:配置Eclipse。

2301_79325657的博客 1443

使用Eclipse搭建Android开发环境并编译运行HelloWorld

使用Eclipse搭建Android开发环境并编译运行HelloWorld。 报告存档,不是指南,可能有误。 环境搭建 所用工具包:Android开发环境搭建.rar。包含JDK安装包、Eclipse软件、已经下载好的Android SDK包。 安装JDK并配置环境变量 安装JDK 双击jdk应用程序进行安装: 直接点下一步,在下面的界面中选择安装目录并记下此目录,用于环境变量的设置。 点击下一步进行安装,当弹出安装下图的jre的对话框时直接关闭窗口即可,因为jdk自带了jre,不需要单独再装一遍了。

qq_31034951的博客 1万+

存储关键技术·RAID技术·RAID2.0·华为RAID2.0+·华为服务器·云计算

一.RAID基本概念 常见的RAID级别组合RAID级别 二.RAID的数据组织形式 三.RAID的数据保护功能 方法一:镜像方法二:奇偶校验算法(XOR) 四.RAID热备和重构 1.热备(Hot Spare)的定义2.热备的分类3.热备的工作原理 五.RAID 2.0技术 1.RAID 2.02.RAID 2.0+3.华为RAID 2.0+ 六.RAID 2.0+块虚拟化技术 1.什么会出现RAID 2.0+技术?2.什么是RAID 2.0?3.RAID 2.0+的原理是什么?

qq_47480932的博客 3320

Eclipse的android 安装(从零到有)

手机测试

weixin_43915996的博客 9726

Win11如何更改用户文件夹名(完整流程- 已验证可行)

把C盘所有文件备份,如果不想备份,则选择创建一个C盘的系统还原点(能在后续把C盘玩崩之后恢复原状)

Y_Aryan的博客 5万+

KEGG两类报错--①No gene can be mapped--②URL ‘https://rest.kegg.jp/link/hsa/pathway‘…

版本问题,重新安装一下clusterProfiler包。网络问题,可以等待之后再试一下(试过不是)(以上可以排除基因不存在的错误因素)

weixin_57699783的博客 2万+

eclipse开发android应用程序入门,Eclipse开发Android应用程序入门(3)

正如你所见的,Android的XML布局文件是繁琐的,但却能让你控制到屏幕的各个元素。在Android中最重要的接口元素是布局Layout容器,例如例子中使用的LinearLayout 。这些元素对于用户是不可见的,但是却扮演者例如Buttons 和TextViews这些元素的布局容器。Android中有几种不同类型的布局视图layout view,每一种都用于开发不同的布局。如同LinearLa...

weixin_31227315的博客 757

基于MATLAB的BOC调制信号捕获算法仿真

然而,在实际的使用过程中,由于室内信号衰减以及遮挡等因素的影响,接收机在GPS信号弱化时会很容易丢失导航信息。与其他的调制方式相比,BOC具有较好的抗多径性能和更高的频带效率。通过本文的介绍,我们可以更加深入地了解BOC调制信号的捕获算法,并且掌握了如何使用MATLAB软件对其进行仿真实现。通过实验数据的分析,我们可以看出该算法对于BOC调制信号的捕获具有较高的准确率和稳定性,因此具有一定的工程应用价值。在BOC调制完成后,我们需要进行信号的捕获,这一步涵盖了信号检测、码偏差估计、载波频率估计等过程。

2301_79326559的博客 567

用Eclipse开发Android应用程序 - Google Android Development Tools Eclipse 插件入门~

用Eclipse开发Android应用程序 - Google Android Development Tools Eclipse 插件入门~ Android 是 Google 提供的移动、无线、计算机和通信平台。通过使用 Android Eclipse 插件,可以在强大的 Eclipse 环境中构建 Android 应用程序。本教程介绍如何用 Eclipse 插件 And

Python名人堂 2917

1、符号回归:原理、应用与实践

本文全面介绍了符号回归(Symbolic Regression)的原理、发展历程、核心算法及其在科学与工程领域的广泛应用。文章从基本概念出发,详细阐述了基于遗传编程的符号回归机制,并探讨了其在游艇水动力学、化学过程、锂离子电池、生物医学等多个领域的实际应用。同时,博文还涵盖了高级技术如知识集成、系数优化、预测区间计算及微分方程发现等内容,对比了开源与商业软件工具,并展望了未来发展趋势,旨在为研究人员和从业者提供一本实用的符号回归指南。

ipfs8storage的博客 248

Python 爬虫实战:Steam 游戏数据爬取与游戏市场分析

本文介绍了一个基于Python的Steam游戏数据分析项目。通过爬取Steam公开API和游戏详情页,获取游戏列表、价格、评价、标签等数据,结合SteamSpy统计销量和在线人数。项目使用requests、BeautifulSoup4进行数据采集,pandas处理数据,pyecharts和seaborn进行可视化。核心步骤包括:1)获取全量游戏列表并过滤;2)异步请求游戏详情处理限速;3)提取关键字段如价格、评分、标签;4)多维分析价格分布、标签热度等。技术栈涵盖API请求、HTML解析、数据存储与可视化,

u014481728的博客 307

Android 开发从入门到精通 - 用 Eclipse 开发 Android 应用程序

 Android 简介在讨论 Eclipse 插件和开发 Android 应用程序之前,我们先看看 Android 的体系结构和一些重要的术语,这会对本教程后面的讨论和您自己构建 Android 应用程序有帮助。在 Eclipse 环境中开发 Android 应用程序需要了解 Eclipse 环境和 Android 平台的知识。了解以下术语会有助于用 Eclipse 插件开发 An

长夜漫漫,无心睡眠 671

ANSYS专题-利用ANSYS SIwave进行PCB板的EMS仿真

本文详细描述了使用ANSYSSIwave进行电路板电磁敏感度(EMS)仿真的完整流程。主要步骤包括:导入AD软件生成的IPC2581文件,检查PCB叠层和电路参数,为敏感网络设置50欧姆端口并指定GND为参考网络,进行验证检查后设置频段范围和入射波类型(单/多入射、极化方式等),最后启动仿真并查看选定网络的EMS感应电压曲线。该过程提供了从文件准备到结果分析的全套操作指南,适用于评估电路板在电磁干扰环境下的性能表现。

whm128的博客 3613
上一篇: Android的应用程序框架入门
下一篇: 为Android安装BusyBox —— 完整的bash shell
简单并快乐着
博客等级 码龄15年 474粉丝 96原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值