Форум программистов, компьютерный форум CyberForum.ru

wifi чат - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Постолбцовое отображение данных из базы данных SQLite http://www.cyberforum.ru/android-dev/thread789533.html
Уважаемые форумчане, помогите пожалуйста. Необходимо вывести данные из таблицы базы данных в TextView. Вот код, когда в TextView выводится все содержимое таблицы, столбцы разделены просто пробелами. package com.mybase.notebook; import android.app.Activity; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import...
Android Центрирование изображения при вращении и увеличении Добрый день! пишу контролл аватара с функциями масштабирования и вращения. Столкнулся с проблемой центрирования изображения при его вращении. Прошу указать где и почему я не прав. public class PhotoView extends View { public static String LOG_TAG = "MyLogPhoto"; private int zoomLevel=10, maxZoomLevel=10, scale=5, oldAngle = 0, angle=0, x=0,y=0; private float dx=0,dy=0,... http://www.cyberforum.ru/android-dev/thread789355.html
Наложение изображений Android
Подскажите пожалуйста, как наложить изображение на изображение. Пробую вот так: но последующая картинка стирает предыдущую. ImageView btn1 = new ImageView(this); btn1.setLayoutParams(LayoutParams1); InputStream in2 = getClass().getResourceAsStream("/res/raw/_ramka.png"); Bitmap bmp2 = BitmapFactory.decodeStream(in2); btn1.setImageLevel(2); btn1.setImageBitmap(bmp2);...
Android Деформация изображения на Canvas
Здравствуйте. Задача путем перемещения пальца по экрану деформировать изображение из первого снимка во второй. Как вы думаете, возможно ли это сделать на канвас или без добавления новых ресурсов не обойтись?
Android Как вызвать другой activity в android ? http://www.cyberforum.ru/android-dev/thread788735.html
Как вызвать другой activity в android ??? Добавлено через 1 минуту @Override public void onClick(View v) { // TODO Auto-generated method stub
Android Отображение экран У меня два активити 1.MainActivity1 (приветствие, меню) 2.MainActivity (меню 2,содержание) Первый и второй экран приветствия и меню работает А когда находишся в содержаний или меню2 кнопка назад работает но предыдущий экран не отображается (чистый экран) как с этим справится ато бьюс уже днями? Я думаю что между активити нету связки это правильно? как решить? подробнее

Показать сообщение отдельно
Sherstyuk
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 12
25.02.2013, 23:47  [ТС]     wifi чат
Разобрался немного с этим чатом, но есть проблема. В чате одна ячеёка, а мне необходимо как минимум две и в форме получателя как минимум два TextView. Подскажите как переделать

-= ЭТО ПЕРЕДАЧА =-

package com.example.wificharproba;

import java.io.IOException;
import java.util.ArrayList;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.text.Html;
import android.text.method.MovementMethod;
import android.text.method.ScrollingMovementMethod;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;

public class WifiChat_peredacha extends Activity {


TextView Xz, Yz;

Intent intent;
View root;
AddressUtility addressUtility = new AddressUtility();
static ArrayList<CharSequence> users = new ArrayList();
static ArrayList<String> userAddress = new ArrayList();
static String userName = "Случайный";
int receiverInd = -1;
static String receiverAddr = null;
static String senderAddr = null;
String selectedReceiver = null;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.form_peredacha);

addressUtility.setdomain(this);

Xz = (TextView) findViewById(R.id.Text_Xz);
Yz = (TextView) findViewById(R.id.Text_Yz);

intent = new Intent(this, ChatService.class);
registerReceiver(broadcastReceiver, new IntentFilter(ChatService.BROADCAST_ACTION));
startService(new Intent(getApplicationContext(), ChatService.class));

setUsers();
}

public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}

public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.RoutingTable:
break;
case R.id.Preferences:
startActivity(new Intent(WifiChat_peredacha.this, Preferences.class));
break;
}
return false;
}

private void setUsers() {
final Thread t = new Thread(new Runnable() {

public void run() {
try {
Thread.sleep(250);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
sendMessage("255.255.255.255", "idf"+userName, true);
}

});

t.start();
}

private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.v("msg", "received");
String message = intent.getStringExtra("message");
String code = message.substring(0, 3);
String msg = null;
if(message.length()>3) msg = message.substring(3, message.length());
if(code.equals("idf"))
{
if(receiverAddr != null)
{
addUser(msg, intent.getStringExtra("senderAddr"));
Toast toast = Toast.makeText(WifiChat_peredacha.this, msg+" entered chat room", 1000);
toast.show();
sendMessage(receiverAddr, "irf"+userName, false);
}
}
else if(code.equals("irf"))
{
addUser(msg, intent.getStringExtra("senderAddr"));
Toast toast = Toast.makeText(WifiChat_peredacha.this, msg+" entered chat room", 1000);
toast.show();
Log.v("Пользователь добавил с именем и адресом", msg + " " + intent.getStringExtra("senderAddr"));
}
else if(code.equals("msg"))
{
int temp = 0;
while(msg.charAt(temp)!=' ') temp++;
String sender;
String message1;
String message2;
sender = msg.substring(0, temp);
message1 = msg.substring(temp, msg.length());
message2 = msg.substring(temp, msg.length());

}
}
};

private void sendMessage(String address, String msg, boolean bcast) {
ClientThread cThread;
try {
cThread = new ClientThread(address, 5555, msg, bcast);
cThread.start();
} catch(IOException e) {
e.printStackTrace();
}
}

public static void addUser(String user, String addr) {
for(int i=0;i<userAddress.size();i++) if(userAddress.get(i).equals(addr)) return;
users.add(user);
userAddress.add(addr);
}

public void onResume() {
super.onResume();
registerReceiver(broadcastReceiver, new IntentFilter(ChatService.BROADCAST_ACTION));
}

public void onPause() {
super.onPause();
unregisterReceiver(broadcastReceiver);
}

public void onDestroy() {
super.onDestroy();
}
//=====
public void Click_peredat (View v){
if(!Xz.getText().equals("")) {
if(selectedReceiver!=null)
{

sendMessage(selectedReceiver, "msg"+userName+": "+Xz.getText().toString(), false);
sendMessage(selectedReceiver, "msg"+userName+": "+Yz.getText().toString(), false);
Xz.setText("");
Yz.setText("");
}
else
{
Toast toast = Toast.makeText(WifiChat_peredacha.this, "Пожалуйста выберите адрессата", 1000);
toast.show();
}
}
}
//=====
//=====
public void Click_vubor_adresata (View v){
CharSequence[] temp = new CharSequence[users.size()];
for(int i=0;i<users.size();i++) temp[i] = users.get(i);
final AlertDialog.Builder builder = new AlertDialog.Builder(WifiChat_peredacha.this);
builder.setTitle("Выберите получателя");
builder.setSingleChoiceItems(temp, receiverInd, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
receiverInd = which;
selectedReceiver = userAddress.get(which);
Log.v("receiver addr set to", selectedReceiver);
dialog.dismiss();
}
});

AlertDialog alert = builder.create();
alert.show();
}
//=====

}


-= ЭТО ПРИЁМ =-
package com.example.wificharproba;

import java.io.IOException;
import java.util.ArrayList;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.text.Html;
import android.text.method.MovementMethod;
import android.text.method.ScrollingMovementMethod;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;

public class WifiChat_polychenie extends Activity {


TextView Xz,Yz;
Intent intent;
View root;
AddressUtility addressUtility = new AddressUtility();
static ArrayList<CharSequence> users = new ArrayList();
static ArrayList<String> userAddress = new ArrayList();
static String userName = "Случайный";
int receiverInd = -1;
static String receiverAddr = null;
static String senderAddr = null;
String selectedReceiver = null;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.form_polychenie);

addressUtility.setdomain(this);
Xz = (TextView) findViewById(R.id.Text_Xz_id);
Yz = (TextView) findViewById(R.id.Text_Yz_id);
Xz.setMovementMethod(new ScrollingMovementMethod());
Yz.setMovementMethod(new ScrollingMovementMethod());

intent = new Intent(this, ChatService.class);
registerReceiver(broadcastReceiver, new IntentFilter(ChatService.BROADCAST_ACTION));
startService(new Intent(getApplicationContext(), ChatService.class));

setUsers();
}

public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}

public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.RoutingTable:
break;
case R.id.Preferences:
startActivity(new Intent(WifiChat_polychenie.this, Preferences.class));
break;
}
return false;
}

private void setUsers() {
final Thread t = new Thread(new Runnable() {

public void run() {
try {
Thread.sleep(250);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
sendMessage("255.255.255.255", "idf"+userName, true);
}

});

t.start();

}

private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.v("msg", "received");
String message = intent.getStringExtra("message");
String code = message.substring(0, 3);
String msg = null;
if(message.length()>3) msg = message.substring(3, message.length());
if(code.equals("idf"))
{
if(receiverAddr != null)
{
addUser(msg, intent.getStringExtra("senderAddr"));
Toast toast = Toast.makeText(WifiChat_polychenie.this, msg+" entered chat room", 1000);
toast.show();
sendMessage(receiverAddr, "irf"+userName, false);
}
}
else if(code.equals("irf"))
{
addUser(msg, intent.getStringExtra("senderAddr"));
Toast toast = Toast.makeText(WifiChat_polychenie.this, msg+" entered chat room", 1000);
toast.show();
Log.v("Пользователь добавил с именем и адресом", msg + " " + intent.getStringExtra("senderAddr"));
}
else if(code.equals("msg"))
{
int temp = 0;
while(msg.charAt(temp)!=' ') temp++;
String sender;
String message1;
String message2;
sender = msg.substring(0, temp);
message1 = msg.substring(temp, msg.length());
message2 = msg.substring(temp, msg.length());

//Xz.append(Html.fromHtml("<font color='red'>"+sender+" </font>")); ==== Адрес отправителя
Xz.append(Html.fromHtml("<font color='red'>"+message1+"</font> <br/>"));
Yz.append(Html.fromHtml("<font color='red'>"+message2+"</font> <br/>"));

}
}
};

private void sendMessage(String address, String msg, boolean bcast) {
ClientThread cThread;
try {
cThread = new ClientThread(address, 5555, msg, bcast);
cThread.start();
} catch(IOException e) {
e.printStackTrace();
}
}

public static void addUser(String user, String addr) {
for(int i=0;i<userAddress.size();i++) if(userAddress.get(i).equals(addr)) return;
users.add(user);
userAddress.add(addr);
}

public void onResume() {
super.onResume();
registerReceiver(broadcastReceiver, new IntentFilter(ChatService.BROADCAST_ACTION));
}

public void onPause() {
super.onPause();
unregisterReceiver(broadcastReceiver);
}

public void onDestroy() {
super.onDestroy();
}

}
Вложения
Тип файла: rar Проба wifi.rar (1.90 Мб, 53 просмотров)
 
Текущее время: 18:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru