Intent call = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phonenumber)
startActivity(call)
Intent sms = new Intent(Intent.ACTION_SENDTO,Uri.parse("smsto:"+phonenumber)
startActivity(sms)
从这点上看,android应用程序实际上是由多个Activity按照一定的次序拼装起来的,只不过拼装的过程中,后台传递了一些数据,使得各个Activity之间能比较好的衔接起来.
扯了这么多,其实我的意思还是想说,android应用程序中,并没有像c++和java这样有main函数来作为应用程序的入口.android应用程序提供的是入口Activity,而非入口函数.
在eclipse中创建一个android应用程序的时候,默认会创建一个Activity.这个Activity实际上就是入口Activity了.从哪里定义它是Activity呢?AndroidManifest.xml文件中定义了整个android应用所包陵携含的Activity.
action节点中的android.intent.action.MAIN表明它所在的Activity是整个应用程序的入口点.而category中的android.intent.category.LAUNCHER意思是把这个Activityg归属到加载器类,即把这个Activity标注为自动会加载和启动的Activity,这样程序启动时候就先加载这个Activity了.参考手册上是这么说的----"the LAUNCHER category says that this entry point should be listed in the application launcher."意思和我理解的有出入.不过意思都是说这个Activity要被应用派汪胡程序加载.
主程序入口有这样几种:根据ISO C++的规定,main函数的形式只能是
int main()以及int main(int argc,char * argv[])
void main()是一种非标准的形式,困则只能在vc++Visual C++ 2003以前的Microsoft Visual Studio编译器上被允许。如果这样写,换一个编译器就无法编译了。
void main()理论上是一种错误的书写形式,是不应当被使用的。使用void main()是一种坏习裤巧惯,这会导致一些问题。如1楼所说,系统要根据返回值判断程序运行状态,不返回汪纯棚值表明程序是不正常的。
其中,Yippee是类名,public是它的修饰符,每个java文件中,最多可以有一个public的类,且这个类的名称要和java文件名一样。main方法,是java程序的入口,String[] args,是它的参数,一个字符串数组此橘差。一楼的兄弟伍雀的说法是错误的。他运行没有结果,是因为这个程序他应该是在IDE工具中运行的,运行时,工具会自己给这个方法传入一森皮个空数组的,数组长度为0,所以没有进去for循环,当然就没有结果了。
但是,如果你在命令行(windows系统的cmd)中运行,它就会让你输入一组参数,那时候就可以看到运行的结果了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)