setEditable(false);
append
который добавит текст к уже имеющемся.jChatBox.setText(jChatBox.getText() + line)
не нужна меняйте на append
плюс надеюсь вы к строкам добавляете "\n"
<dependency>
<groupId>библиотека С</groupId>
<artifactId>её имя</artifactId>
<version>версия</version>
<exclusions>
<exclusion>
<groupId>библиотека</groupId>
<artifactId>её id</artifactId>
</exclusion>
</dependency>
mvn install:install-file -Dfile=toster.jar
-DgroupId=ru.toster -DartifactId=toster-api -Dversion=0.0.1
-Dpackaging=jar
<dependency>
<groupId>ru.toster</groupId>
<artifactId>toster-api</artifactId>
<version>0.0.1</version>
</dependency>
public class NetworkManager {
public static boolean isNetworkAvailable(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
return true;
} else {
return false;
}
}
}
if (NetworkManager.isNetworkAvailable(context)) {
// делаем спокойно запрос
} else {
// если сети нет показываем Тост или
// кидаем на активити с красивым дизайном где просим сделать реконнект
}
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
cdm
и выполните команду ipconfig
там будет ip вашей машины, который и нужно подставить вместо локалхоста before_action :update_last_seen
def update_last_seen
if current_user
if (Time.now - 3.hours) >= current_user.last_seen
current_user.last_seen = Time.now
current_user.save
end
end
Time.now - 3.hours
before_action
в ApplicationController
и при загрузки любой страницы, будут запускаться этот метод. namespace :admin do
constraints subdomain: 'admin' do
resources :photos
end
end
new TaxiApiAsync(),execute("номер телефона");
@Override
protected TaxiResponce doInBackground(String... strs) {
// получили json
String jsonResponce = null;
try {
jsonResponce = new TaxiApi().withPhone(strs[0]).withAdress("Фонтанка 33").done().send();
} catch (IOException e) {
e.printStackTrace();
}
// распарсили json в класс, чтоб можно было брать данные из обычных
// переменных
TaxiResponce taxiResponce = new Gson().fromJson(jsonResponce, TaxiResponce.class);
return taxiResponce;
}
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<solid
android:color="#ef4444" />
<stroke
android:width="1dp"
android:color="#992f2f" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:startColor="#ef4444"
android:endColor="#992f2f"
android:angle="270" />
<stroke
android:width="1dp"
android:color="#992f2f" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
android:state_pressed="true"
означает когда кнопка например нажата, это разные состояния, подробней можете прочитать тутandroid:state_focused
<Button
android:id="@+id/btnCansel"
style="@style/button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/custom_red_button"
android:onClick="onClickCanselButton"
android:text="@string/clear" />
android:background="@drawable/custom_red_button"
тут цепляется стиль с описанием разных состояний к кнопке. import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
public class HttpSend {
public static void main(String[] args) {
System.out.println(SendJsonViaPost("http://toster.ru/", "ваш json"));
}
public static String SendJsonViaPost(String url, String json) {
String responseJson = "";
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
try {
StringEntity stringEntity = new StringEntity(json, "UTF-8");
stringEntity.setContentType("application/json");
post.setEntity(stringEntity);
HttpResponse response = client.execute(post);
BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
String line = "";
while ((line = rd.readLine()) != null) {
responseJson += line;
}
} catch (IOException e) {
e.printStackTrace();
}
return responseJson;
}
}
HttpSend.sendJsonViaPost("http://toster.ru/", "ваш json")
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class Application {
public static void main(String[] args) {
Map<Character, Integer> letters = new HashMap<Character, Integer>();
ArrayList<Character> fakeArray = new ArrayList<Character>();
fakeArray.add('a');
fakeArray.add('a');
fakeArray.add('a');
fakeArray.add('b');
fakeArray.add('b');
fakeArray.add('c');
fakeArray.add('c');
fakeArray.add('c');
fakeArray.add('w');
fakeArray.add('w');
fakeArray.add('w');
fakeArray.add('w');
fakeArray.add('g');
for (int i = 0; i < fakeArray.size(); i++) {
Character tempChar = fakeArray.get(i);
if (!letters.containsKey(tempChar)) {
letters.put(tempChar, 1);
} else {
letters.put(tempChar, letters.get(tempChar) + 1);
}
}
for (Map.Entry<Character, Integer> entry : letters.entrySet()) {
System.out.println("Буква = " + entry.getKey() + ", Повторений = " + entry.getValue());
}
}
}
Буква = w, Повторений = 4
Буква = g, Повторений = 1
Буква = b, Повторений = 2
Буква = c, Повторений = 3
Буква = a, Повторений = 3