Java 新开发人员-如何构建一些教程应用程序?
我成功地安装了Eclipse、JDK等,并且有一个工作的IDE。(Windows 7)Java 新开发人员-如何构建一些教程应用程序?,java,android,eclipse,Java,Android,Eclipse,我成功地安装了Eclipse、JDK等,并且有一个工作的IDE。(Windows 7) 通过HelloAndroid(基于硬编码文本和xml资源)非常容易地工作。 找到了.apk,将它加载到我的平板电脑上,它成功了 现在,我正在尝试做一些更广泛、更具交互性的事情,因此我正在尝试构建TimePicker教程应用程序。对于初露头角的程序员来说,仅仅“知道”要做的事情似乎有了很大的飞跃 第一步-创建一个新项目,很好 第2步-“插入”xml资源代码非常清楚-它取代了所有代码 步骤3-“插入”类成员。不太
通过HelloAndroid(基于硬编码文本和xml资源)非常容易地工作。
找到了.apk,将它加载到我的平板电脑上,它成功了 现在,我正在尝试做一些更广泛、更具交互性的事情,因此我正在尝试构建TimePicker教程应用程序。对于初露头角的程序员来说,仅仅“知道”要做的事情似乎有了很大的飞跃 第一步-创建一个新项目,很好 第2步-“插入”xml资源代码非常清楚-它取代了所有代码 步骤3-“插入”类成员。不太清楚,但经过几次尝试之后,我终于将它们放在了java源代码中的适当位置,并且在回顾了技巧之后,使用Ctrl-Shift-O导入包。如果没有这些,它自然会抛出各种各样的错误,我无法区分将代码插入错误的位置 步骤4—“插入”onCreate()方法的代码:我不知道这会发生什么,也不知道它会替换什么。第5、6、7步看起来不太可能 提供的代码受void onCreate()保护;这是否替换了默认生成的public void onCreate()?除此之外还有其他的吗?在上面在下面在收盘价内}?之后 不用说,每一个我尝试过的地方,我只会得到更多的错误 我真的不想也没有时间去学习java课程!我已经编程40年了,这可能是一个“老狗/新把戏”的问题。我真的很感激能给我一些指导,让我开始学习
Dave我不是安卓开发者,但可以说我和你的处境非常相似。我来自另一个背景,想进入安卓系统 这就是我要做的,因为我想您知道支持OOP的XML和编程语言。 我猜你是来自C++或Delphi……/P> 首先,我想在网络上寻找一个android论坛,用于android开发——一个专门针对android的社区 比我看到的要多-因为这些电路板通常有一些线程,例如: 适用于android初学者的有用资源和书籍 然后我会看看亚马逊,查看一些评论,比较一些书 从那以后,我会带上一两本书。不需要花时间去浏览那些书。我也确信他们会简单地展示一些基本的java语法和编程摘录,因为大多数iPhone书籍都有C和C++到Objto-C入门。 从那里,我将看到这些书的封面有多大,看看已经在外面的“简单”adroid应用程序,并尝试克隆它们以供练习 如果有任何特定于Java的问题,只需在Google上搜索如何在Java中实现这一点,然后在以下位置查找类/方法描述: 我想通过这种方式,你可以在一两个月内轻松进入Android系统,涵盖所有的基础知识,并运行一些简单的应用程序
正如我所说,我不是安卓开发者,因此无法回答你的其他问题,但这是我进入安卓系统的方式,学习速度很快。我不是安卓开发者,但假设我的情况与你一样。我来自另一个背景,想进入安卓系统 这就是我要做的,因为我想您知道支持OOP的XML和编程语言。 我猜你是来自C++或Delphi……/P> 首先,我想在网络上寻找一个android论坛,用于android开发——一个专门针对android的社区 比我看到的要多-因为这些电路板通常有一些线程,例如: 适用于android初学者的有用资源和书籍 然后我会看看亚马逊,查看一些评论,比较一些书 从那以后,我会带上一两本书。不需要花时间去浏览那些书。我也确信他们会简单地展示一些基本的java语法和编程摘录,因为大多数iPhone书籍都有C和C++到Objto-C入门。 从那里,我将看到这些书的封面有多大,看看已经在外面的“简单”adroid应用程序,并尝试克隆它们以供练习 如果有任何特定于Java的问题,只需在Google上搜索如何在Java中实现这一点,然后在以下位置查找类/方法描述: 我想通过这种方式,你可以在一两个月内轻松进入Android系统,涵盖所有的基础知识,并运行一些简单的应用程序
正如我所说,我不是安卓开发者,因此无法回答你的其他问题,但这是我进入安卓系统的方式,学习速度很快。在使用安卓系统编程之前,你应该知道:
- 爪哇
- 面向对象程序设计
- 一般的XML(最重要的是,对于UI)
我以一种可能会对你有所帮助的方式写下教程步骤,如果你遵循这些步骤,你可能已经完成了教程,但你可能学不到任何东西。我建议您从阅读一个非常小的java教程开始(该教程介绍java中的面向对象编程) 在那之后,你会更好地理解这一点 这段视频也是一段非常好的入门视频。(虽然很长,但我真的推荐它,它会帮助你快速前进) 然后,我建议您完成布局教程(这些教程对于基本程序来说更容易、更有用)。对于刚开始学习的人来说,托塔里的版式更好。(至少要学习linearLayout、RelativeLayout和ScrollView教程)。在视频之后(如果您看到了视频),本教程中的一些内容可能看起来很简单 之后,如果您仍然不理解此代码,请阅读更多的co
public class MyExampleActivity extends Activity
{
...
}
<activity android:name=".MyExampleActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
public class MyExampleActivity extends Activity
{
//The On Create Method - Is the first method called in an activity.
@Override
public void onCreate(Bundle savedInstanceState) {
//Executes the onCreate of the superclass (Activity)
super.onCreate(savedInstanceState);
//Adds the xml layout to the activity (In the first activity, the layout is usually
//main, but in other activities you should replace main for the laout of that activity
setContentView(R.layout.main);
//Just to prevent mistakes, ALWAYS make the findViewById(R.id.xxx) calls after the
// setContentView
// (onCreate CODE SHOULD BE HERE)
}
...
}
public class HelloTimePicker extends Activity
{
private TextView mTimeDisplay;
private Button mPickTime;
private int mHour;
private int mMinute;
static final int TIME_DIALOG_ID = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// capture our View elements
mTimeDisplay = (TextView) findViewById(R.id.timeDisplay);
mPickTime = (Button) findViewById(R.id.pickTime);
// add a click listener to the button
mPickTime.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(TIME_DIALOG_ID);
}
});
// get the current time
final Calendar c = Calendar.getInstance();
mHour = c.get(Calendar.HOUR_OF_DAY);
mMinute = c.get(Calendar.MINUTE);
// display the current date
updateDisplay();
}
//NEW METHODS GO HERE
}
Class xx extends activity
// updates the time we display in the TextView
private void updateDisplay() {
mTimeDisplay.setText(
new StringBuilder()
.append(pad(mHour)).append(":")
.append(pad(mMinute)));
}
private static String pad(int c) {
if (c >= 10)
return String.valueOf(c);
else
return "0" + String.valueOf(c);
}
// the callback received when the user "sets" the time in the dialog
private TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mHour = hourOfDay;
mMinute = minute;
updateDisplay();
}
};
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case TIME_DIALOG_ID:
return new TimePickerDialog(this,
mTimeSetListener, mHour, mMinute, false);
}
return null;
}
public class HelloTimePicker extends Activity
{
private TextView mTimeDisplay;
private Button mPickTime;
private int mHour;
private int mMinute;
static final int TIME_DIALOG_ID = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// capture our View elements
mTimeDisplay = (TextView) findViewById(R.id.timeDisplay);
mPickTime = (Button) findViewById(R.id.pickTime);
// add a click listener to the button
mPickTime.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(TIME_DIALOG_ID);
}
});
// get the current time
final Calendar c = Calendar.getInstance();
mHour = c.get(Calendar.HOUR_OF_DAY);
mMinute = c.get(Calendar.MINUTE);
// display the current date
updateDisplay();
}
// updates the time we display in the TextView
private void updateDisplay() {
mTimeDisplay.setText(
new StringBuilder()
.append(pad(mHour)).append(":")
.append(pad(mMinute)));
}
private static String pad(int c) {
if (c >= 10)
return String.valueOf(c);
else
return "0" + String.valueOf(c);
}
// the callback received when the user "sets" the time in the dialog
private TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mHour = hourOfDay;
mMinute = minute;
updateDisplay();
}
};
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case TIME_DIALOG_ID:
return new TimePickerDialog(this,
mTimeSetListener, mHour, mMinute, false);
}
return null;
}
//Sorry for the indexing