当前位置:首页 » 云服务器 » android开发用什么服务器

android开发用什么服务器

发布时间: 2024-08-29 17:54:42

㈠ android 用openfire做服务器,smack来连接怎么连接不上

android客户端接收 openfire 服务器发送来的消息:

客户端代码如下:

java代码

packagecom.example.openfiretest;

importorg.jivesoftware.smack.Chat;

importorg.jivesoftware.smack.ChatManager;

importorg.jivesoftware.smack.ChatManagerListener;

importorg.jivesoftware.smack.ConnectionConfiguration;

importorg.jivesoftware.smack.MessageListener;

importorg.jivesoftware.smack.XMPPConnection;

importorg.jivesoftware.smack.packet.Message;

importandroid.os.Bundle;

importandroid.os.Handler;

importandroid.app.Activity;

importandroid.content.Intent;

importandroid.view.Menu;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.view.Window;

importandroid.widget.CheckBox;

importandroid.widget.EditText;

importandroid.widget.Toast;

{

;

;

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_main);

accountEditText=(EditText)findViewById(R.id.username);

passwordEditText=(EditText)findViewById(R.id.password);

findViewById(R.id.login).setOnClickListener(newOnClickListener(){

publicvoidonClick(Viewv){

Stringaccount=accountEditText.getText().toString();

Stringpassword=passwordEditText.getText().toString();

if(account.equals("")||password.equals("")){

Toast.makeText(MainActivity.this,"账号或密码不能为空!",

Toast.LENGTH_SHORT).show();

}else{

ClientConServerccs=newClientConServer(MainActivity.this);

booleanb=ccs.login(account,password);

//如果登录成功

if(b){

Toast.makeText(MainActivity.this,"登陆成功!",

Toast.LENGTH_SHORT).show();

}else{

Toast.makeText(MainActivity.this,"登陆失败!",

Toast.LENGTH_SHORT).show();

}

}

}

});

}

}

然后在登陆以后添加一个监听消息的监听器,用来监听收到的消息(代码89、90行):

Java代码

packagecom.example.openfiretest;

importjava.util.Collection;

importorg.jivesoftware.smack.Chat;

importorg.jivesoftware.smack.ChatManager;

importorg.jivesoftware.smack.ChatManagerListener;

importorg.jivesoftware.smack.ConnectionConfiguration;

importorg.jivesoftware.smack.MessageListener;

importorg.jivesoftware.smack.Roster;

importorg.jivesoftware.smack.RosterEntry;

importorg.jivesoftware.smack.RosterGroup;

importorg.jivesoftware.smack.XMPPConnection;

importorg.jivesoftware.smack.XMPPException;

importorg.jivesoftware.smack.packet.Message;

importandroid.content.Context;

importandroid.content.Intent;

importandroid.os.Handler;

importandroid.util.Log;

importandroid.widget.Toast;

publicclassClientConServer{

privatestaticintPORT=5222;

privateContextcontext;

publicClientConServer(Contextcontext){

this.context=context;

}

//这里收到消息后,通过广播将消息发送到需要的地方.哈哈,既然收到了服务器发送来的信息,如何处理自己决定。

privateHandlerhandler=newHandler(){

publicvoidhandleMessage(android.os.Messagem){

Messagemsg=newMessage();

msg=(Message)m.obj;

//把从服务器获得的消息通过广播发送

Intentintent=newIntent("org.yhn.mes");

String[]message=newString[]{

msg.getFrom(),

msg.getBody()};

System.out.println("==========收到服务器消息From==========="+message[0].toString());

System.out.println("==========收到服务器消息Body==========="+message[1].toString());

intent.putExtra("message",message);

context.sendBroadcast(intent);

};

};

publicbooleanlogin(Stringa,Stringp){

ConnectionConfigurationconfig=newConnectionConfiguration("192.168.0.124",PORT);

/**是否启用安全验证*/

config.setSASLAuthenticationEnabled(false);

/**是否启用调试*/

//config.setDebuggerEnabled(true);

/**创建connection链接*/

XMPPConnectionconnection=newXMPPConnection(config);

try{

/**建立连接*/

connection.connect();

/**登录*/

connection.login(a,p);

/**开启读写线程,并加入到管理类中*/

//ClientSendThreadcst=newClientSendThread(connection);

//cst.start();

//ManageClientThread.addClientSendThread(a,cst);

//获取用户组、成员信息。

System.out.println("======开始获取组及用户==========");

Rosterroster=connection.getRoster();

Collection<RosterGroup>entriesGroup=roster.getGroups();

System.out.println("组的个数:"+entriesGroup.size());

for(RosterGroupgroup:entriesGroup){

Collection<RosterEntry>entries=group.getEntries();

System.out.println("=========groupName==="+group.getName());

for(RosterEntryentry:entries){

//Presencepresence=roster.getPresence(entry.getUser());

//Log.i("---","user:"+entry.getUser());

System.out.println("组成员名字:"+entry.getName());

//Log.i("---","tyep:"+entry.getType());

//Log.i("---","status:"+entry.getStatus());

//Log.i("---","groups:"+entry.getGroups());

}

}

System.out.println("======结束获取组及用户==========");

//在登陆以后应该建立一个监听消息的监听器,用来监听收到的消息:

ChatManagerchatManager=connection.getChatManager();

chatManager.addChatListener(newMyChatManagerListener());

returntrue;

}catch(XMPPExceptione){

e.printStackTrace();

}

returnfalse;

}

/**messagelistener*/

{

publicvoidchatCreated(Chatchat,booleanarg1){

chat.addMessageListener(newMessageListener(){

publicvoidprocessMessage(Chatarg0,Messagemsg){

/**通过handler转发消息*/

android.os.Messagem=handler.obtainMessage();

m.obj=msg;

m.sendToTarget();

}

});

}

}

}

启动android客户端,进行登录

然后在openfire的管理控制台,会话-工具中发送消息给所有在线用户

即可看到打印信息:在管理控制台发送的消息

㈡ Android应用的服务器端可以用C#写吗还是只能用java写

Android应用的服务器端是可以用C#写的:
1、C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。

2、C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

3、C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。

4、C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。

㈢ android 编译服务器大概需要什么配置 5

工欲善其事,必先利其器”,要想提高团队整体的开发效率,尽可能的提前完成开发任务,必须要配备一套配置给力的开发设备。源码编译服务器硬件配置的高低,直接影响着系统固件升级和ROM版本发布的速度和效率。

由于目前Google发布的最新版本的Android系统源码体积越来越大,因此,越是定制高版本的系统,对编译服务器的硬件配置要求就越高,这里根据调研,给出目前Android
6.0及以下版本源码定制开发的基本配置,供大家参考。

首先进行一波企业级android源码编译服务器的推荐,这类推荐网上绝无仅有,这还是我进行了很久的调研,询问很多朋友【其中包括不乏6年以上系统开发的大牛,也有之前公司的主管等】,也查了很多资料才挑选出来,提出需求后让上级审批,目前上一级已经认可比审批,等待领导签字。给力。

详细

㈣ android开发中的服务器端是什么

服务器是统称,服务器一半的pc都可以被称作服务器,但是服务器上一半要跑服务,也就是tomcat、nginx等等这些东西,你如果跑服务的话,要搭建服务端的开发环境。

热点内容
sql获取日期部分 发布:2024-11-26 05:25:06 浏览:742
怎么才能把安卓数据转移到苹果手机上 发布:2024-11-26 05:14:35 浏览:850
手机对比参数配置常看的有哪些 发布:2024-11-26 05:01:23 浏览:890
qq默认存储路径修改 发布:2024-11-26 04:55:02 浏览:709
为什么吉利配置那么高 发布:2024-11-26 04:49:20 浏览:430
源码平台排名 发布:2024-11-26 04:44:49 浏览:998
电脑网络连接密码如何更改 发布:2024-11-26 04:39:20 浏览:203
安卓手机如何设置airpro自动弹窗 发布:2024-11-26 04:39:17 浏览:585
华为Ul编程 发布:2024-11-26 04:27:15 浏览:148
oppor9s软件加密 发布:2024-11-26 04:27:13 浏览:679