我刚从http://developer.android.com/sdk/installing/studio.html下载了适用于Linux的Android Studio
我想知道如何打印到控制台?
无论是System.out.print(...)也不是Log.e(...)从android.util.Log似乎工作.
我试图在logcat上显示长消息.如果消息的长度超过1000个字符,则会被破坏.
在logcat中显示长消息的所有字符的机制是什么?
我相信Logcat是一个圆形商店,我想知道它被覆盖之前的限制是什么.
据推测,这意味着它的时间范围会根据用途而有所不同.
有没有办法扩大其容量?
给出像这样的房间数据库DAO:
import android.arch.persistence.room.Dao;
import android.arch.persistence.room.Query;
import java.util.Date;
import java.util.List;
@Dao
public interface MyDao {
@Query("SELECT * FROM MyTable")
List<MyItem> all();
@Query("SELECT * FROM MyTable WHERE date = :date AND language = :language")
MyItem byDate(Date date, String language);
}
Run Code Online (Sandbox Code Playgroud)
有没有办法添加一个Logger或类似的东西,MyDao以便我可以看到正在执行哪些语句.这在开发过程中非常有用,因为我可以立即检查函数是否正确转换为预期的SQL语句.
因为我们使用logcat作为android的控制台.有些情况下输出文本/消息有点大,我看不到完整的输出.log cat仅显示它的起始部分.有没有办法扩展它,以便我可以看到完整的消息?
我想验证HTTP请求中究竟是什么,即参数和标题.我正在调试的代码在执行HTTP请求之前使用MultiPartEntity来设置setEntity.
response = executePost(multipartEntity);
statusCode = response.statusCode;
Run Code Online (Sandbox Code Playgroud)
我没有从服务器获得预期的响应,因此想要验证发送到服务器的确切事物(url +参数).
谢谢.
我有来自KSOAP2库的HttpTransportSE对象.我想转储响应文件,其中可能包含mote然后简单的9697字符.目前我正在做运输.
transport.debug = true;
System.out.println("Response ----------"+transport.responseDump);
Run Code Online (Sandbox Code Playgroud)
但它给了我一半的反应......最后.
在其内部编码结构中,我发现它使用256个字节来创建和销毁它的responseDump,如下所示:
package org.ksoap2.transport;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.MalformedURLException;
import java.net.Proxy;
import java.net.URL;
import java.util.List;
import org.ksoap2.HeaderProperty;
import org.ksoap2.SoapEnvelope;
import org.xmlpull.v1.XmlPullParserException;
public class HttpTransportSE extends Transport
{
private ServiceConnection connection;
public HttpTransportSE(String url)
{
super(null, url);
}
public HttpTransportSE(Proxy proxy, String url)
{
super(proxy, url);
}
public HttpTransportSE(String url, int timeout)
{
super(url, timeout);
}
public HttpTransportSE(Proxy proxy, String url, int …Run Code Online (Sandbox Code Playgroud) 我想将a拆分String为一个String[]数组,其元素符合以下条件.
s.getBytes(encoding).length不应该超过maxsize(int).
如果我用StringBuilder或+运算符连接拆分的字符串,结果应该是原始字符串.
输入字符串可以具有unicode字符,当以例如UTF-8编码时可以具有多个字节.
所需的原型如下所示.
public static String[] SplitStringByByteLength(String src,String encoding, int maxsize)
Run Code Online (Sandbox Code Playgroud)
和测试代码:
public boolean isNice(String str, String encoding, int max)
{
//boolean success=true;
StringBuilder b=new StringBuilder();
String[] splitted= SplitStringByByteLength(str,encoding,max);
for(String s: splitted)
{
if(s.getBytes(encoding).length>max)
return false;
b.append(s);
}
if(str.compareTo(b.toString()!=0)
return false;
return true;
}
Run Code Online (Sandbox Code Playgroud)
虽然输入字符串只有ASCII字符似乎很容易,但它可以共存多字节字符的事实让我感到困惑.
先感谢您.
编辑:我添加了我的代码实现.(低效)
public static String[] SplitStringByByteLength(String src,String encoding, int maxsize) throws UnsupportedEncodingException
{
ArrayList<String> splitted=new ArrayList<String>();
StringBuilder builder=new StringBuilder();
//int l=0;
int …Run Code Online (Sandbox Code Playgroud) android ×7
java ×3
logcat ×2
android-room ×1
console ×1
http ×1
httprequest ×1
logging ×1
mobile ×1
string ×1
xml ×1
xml-parsing ×1