当前位置: 编程技术>移动开发
本页文章导读:
▪手机号码分属地查询 手机号码所属地查询
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.URI;import java.net.URISyntaxException;import org.apache.http.HttpResponse;import org..........
▪ fontMatrix各个值的意义 fontMatrix各个值的意思
当应用程序要求 AWT 将字符放置在 (x, y) 处时,该字符的放置会使得其引用点(显示为附图中的点)也放置在该位置。引用点指定一条水平线,称为字符的 baseline(基线.........
▪ 检测程序是不是被上载过在市场下 检测程序是不是被下载过在市场上
try {
PackageManager manager = context.getPackageManager();
PackageInfo appInfo = manager.getPackageInfo(
YOUR_PACKAGE_NAME, PackageManager.GET_SIGNATURES);
// No.........
[1]手机号码分属地查询
来源: 互联网 发布时间: 2014-02-18
手机号码所属地查询
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class HttpClientTest extends Activity implements Button.OnClickListener {
/** Called when the activity is first created. */
public TextView accept;
public Button send;
public EditText showEditText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
accept= (TextView)findViewById(R.id.accept);
send = (Button) findViewById(R.id.send);
showEditText = (EditText) findViewById(R.id.show);
send.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String urlString = "http://api.showji.com/locating/?m="+showEditText.getText()+"&output=xml";
String dataString = getUrlData(urlString);
accept.setText(dataString);
Log.i("message", "success");
}
public String getUrlData(String url){
String websiteData = null;
try {
DefaultHttpClient client = new DefaultHttpClient();
URI uri = new URI(url);
HttpGet method = new HttpGet(uri);
HttpResponse res = client.execute(method);
InputStream data = res.getEntity().getContent();
websiteData = generateString(data);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return websiteData;
}
public String generateString(InputStream stream) {
InputStreamReader reader = new InputStreamReader(stream);
BufferedReader buffer = new BufferedReader(reader);
StringBuilder sb = new StringBuilder();
try {
String cur;
while ((cur = buffer.readLine()) != null) {
sb.append(cur + "\n");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
stream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sb.toString();
}
}
注意:AndroidMinafest.xml文件中须加入
<uses-permission android:name="android.permission.INTERNET" />
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class HttpClientTest extends Activity implements Button.OnClickListener {
/** Called when the activity is first created. */
public TextView accept;
public Button send;
public EditText showEditText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
accept= (TextView)findViewById(R.id.accept);
send = (Button) findViewById(R.id.send);
showEditText = (EditText) findViewById(R.id.show);
send.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String urlString = "http://api.showji.com/locating/?m="+showEditText.getText()+"&output=xml";
String dataString = getUrlData(urlString);
accept.setText(dataString);
Log.i("message", "success");
}
public String getUrlData(String url){
String websiteData = null;
try {
DefaultHttpClient client = new DefaultHttpClient();
URI uri = new URI(url);
HttpGet method = new HttpGet(uri);
HttpResponse res = client.execute(method);
InputStream data = res.getEntity().getContent();
websiteData = generateString(data);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return websiteData;
}
public String generateString(InputStream stream) {
InputStreamReader reader = new InputStreamReader(stream);
BufferedReader buffer = new BufferedReader(reader);
StringBuilder sb = new StringBuilder();
try {
String cur;
while ((cur = buffer.readLine()) != null) {
sb.append(cur + "\n");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
stream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sb.toString();
}
}
注意:AndroidMinafest.xml文件中须加入
<uses-permission android:name="android.permission.INTERNET" />
[2] fontMatrix各个值的意义
来源: 互联网 发布时间: 2014-02-18
fontMatrix各个值的意思
当应用程序要求 AWT 将字符放置在 (x, y) 处时,该字符的放置会使得其引用点(显示为附图中的点)也放置在该位置。引用点指定一条水平线,称为字符的 baseline(基线)。在正常的打印中,字符的 baseline 应该对齐。
此外,字体中的每个字符都具有 ascent、descent 和 advance width 属性。ascent 是字符超出 baseline 之上的距离。descent 是字符超出 baseline 以下的距离。advance width 指示 AWT 应该放置下一个字符的位置。
字符数组或字符串也可以具有 ascent、descent 和 advance width 属性。数组的 ascent 是数组中所有字符的最大 ascent。descent 是数组中所有字符的最大 descent。advance width 是字符数组中每个字符的 advance width 之和。String 的 advance 是 String 沿 baseline 的距离。此距离是 String 居中或右对齐应该使用的 width。注意,String 的 advance 不一定是所有单独测量的字符的 advance 之和,因为字符的 width 可能随上下文的不同而不同。例如,在 Arabic 文本中,可以更改一个字符的形状,以连接到其他字符。而在有些脚本中,某些字符序列可以由单个形状(称为连字)表示。单独测量的字符并不能说明这些转换。
看到有一篇类似的文章,写比我好多了,惭愧!
http://www.iteye.com/topic/474526
当应用程序要求 AWT 将字符放置在 (x, y) 处时,该字符的放置会使得其引用点(显示为附图中的点)也放置在该位置。引用点指定一条水平线,称为字符的 baseline(基线)。在正常的打印中,字符的 baseline 应该对齐。
此外,字体中的每个字符都具有 ascent、descent 和 advance width 属性。ascent 是字符超出 baseline 之上的距离。descent 是字符超出 baseline 以下的距离。advance width 指示 AWT 应该放置下一个字符的位置。
字符数组或字符串也可以具有 ascent、descent 和 advance width 属性。数组的 ascent 是数组中所有字符的最大 ascent。descent 是数组中所有字符的最大 descent。advance width 是字符数组中每个字符的 advance width 之和。String 的 advance 是 String 沿 baseline 的距离。此距离是 String 居中或右对齐应该使用的 width。注意,String 的 advance 不一定是所有单独测量的字符的 advance 之和,因为字符的 width 可能随上下文的不同而不同。例如,在 Arabic 文本中,可以更改一个字符的形状,以连接到其他字符。而在有些脚本中,某些字符序列可以由单个形状(称为连字)表示。单独测量的字符并不能说明这些转换。
看到有一篇类似的文章,写比我好多了,惭愧!
http://www.iteye.com/topic/474526
[3] 检测程序是不是被上载过在市场下
来源: 互联网 发布时间: 2014-02-18
检测程序是不是被下载过在市场上
try { PackageManager manager = context.getPackageManager(); PackageInfo appInfo = manager.getPackageInfo( YOUR_PACKAGE_NAME, PackageManager.GET_SIGNATURES); // Now test if the first signature equals your debug key. boolean shouldUseTestServer = appInfo.signatures[0].toCharsString().equals(YOUR_DEBUG_KEY); } catch (NameNotFoundException e) { // Expected exception that occurs if the package is not present. }
最新技术文章: