原文:http://blog.csdn.net/adm_qxx/article/details/568538
//加密
public String jiaMi(String s,String key){
String str = "";
int ch;
if(key.length() == 0){
return s;
}
else if(!s.equals(null)){
for(int i = 0,j = 0;i < s.length();i++,j++){
if(j > key.length() - 1){
j = j % key.length();
}
ch = s.codePointAt(i) + key.codePointAt(j);
if(ch > 65535){
ch = ch % 65535;//ch - 33 = (ch - 33) % 95 ;
}
str += (char)ch;
}
}
return str;
}
//解密
public String jieMi(String s,String key){
String str = "";
int ch;
if(key.length() == 0){
return s;
}
else if(!s.equals(key)){
for(int i = 0,j = 0;i < s.length();i++,j++){
if(j > key.length() - 1){
j = j % key.length();
}
ch = (s.codePointAt(i) + 65535 - key.codePointAt(j));
if(ch > 65535){
ch = ch % 65535;//ch - 33 = (ch - 33) % 95 ;
}
str += (char)ch;
}
}
return str;
}
语法:
wsdl2java -fe <frontend name>* -db <data binding name>* -wv <[wsdl version]>*
-p <[wsdl namespace =]Package Name>* -sn <service-name> -b <binding-name>*
-catalog <catalog-file-name> -d <output-directory> -compile
-classdir <compile-classes-directory> -impl -server -client -all
-autoNameResolution -defaultValues<=class name for DefaultValueProvider> -ant
-nexclude <schema namespace [= java packagename]>* -exsh <(true, false)>
-dns <(true, false)> -dex <(true, false)> -validate -keep
-wsdlLocation <wsdlLocation attribute> -xjc<xjc arguments> -noAddressBinding -h
-v -verbose -quiet <wsdlurl>
命令描述:
wsdl2java takes a WSDL document and generates fully annotated Java code from which to implement a service.
The WSDL document must have a valid portType element, but it does not need to contain a binding element or a service
element. Using the optional arguments you can customize the generated code. In addition, wsdl2java can generate an Ant
based makefile to build your application.
例子:
wsdl2java HelloWorld.wsdl
wsdl2java -p com.iona.greeting Greeting.wsdl
wsdl2java -client HelloWorld.wsdl
参数详细:
The arguments used to manage the code generation process are reviewed in the following table.
Option Interpretation
-? Displays the online help for this utility.
-help Displays the online help for this utility.
-h Displays the online help for this utility.
-fe frontend-name Specifies the frontend. Default is JAXWS. Currently supports only JAXWS frontend.
-db databinding-name Specifies the databinding. Default is jaxb. Currently supports jaxb and xmlbeans databinding. sdo (sdo-static and sdo-dynamic) supported in 2.3.
-wv wsdl-version Specifies the wsdl version .Default is WSDL1.1. Currently suppports only WSDL1.1 version.
-p [ wsdl-namespace= ] PackageName Specifies zero, or more, package names to use for the generated code. Optionally specifies the WSDL namespace to package name mapping.
-sn service-name The WSDL service name to use for the generated code.
-b binding-name Specifies JAXWS or JAXB binding files or XMLBeans context files. Use multiple -b flags to specify multiple entries.
-catalog catalog-file-name Specify catalog file to map the imported wsdl/schema
-d output-directory Specifies the directory into which the generated code files are written.
-compile Compiles generated Java files.
-classdir complile-class-dir Specifies the directory into which the compiled class files are written.
-client Generates starting point code for a client mainline.
-server Generates starting point code for a server mainline.
-impl Generates starting point code for an implementation object.
-all Generates all starting point code: types, service proxy, service interface, server mainline, client mainline, implementation object, and an Ant build.xml file.
-ant Generates the Ant build.xml file.
-autoNameResolution Automatically resolve naming conflicts without requiring the use of binding customizations.
-defaultValues=[DefaultValueProvider impl] Specifies that default values are generated for the impl and client. You can also provide a custom default value provider. The default provider is RandomValueProvider
-nexclude schema-namespace [=java-packagename] Ignore the specified WSDL schema namespace when generating code. This option may be specified multiple times. Also, optionally specifies the Java package name used by types described in the excluded namespace(s).
-exsh (true/false) Enables or disables processing of implicit SOAP headers (i.e. SOAP headers defined in the wsdl:binding but not wsdl:portType section.) Default is false.
-dns (true/false) Enables or disables the loading of the default namespace package name mapping. Default is true and http://www.w3.org/2005/08/addressing=org.apache.cxf.ws.addressing namespace package mapping will be enabled.
-dex (true/false) Enables or disables the loading of the default excludes namespace mapping. Default is true.
-validate Enables validating the WSDL before generating the code.
-keep Specifies that the code generator will not overwrite any preexisting files. You will be responsible for resolving any resulting compilation issues.
-wsdlLocation wsdlLocation Specifies the value of the @WebServiceClient annotation's wsdlLocation property.
-xjc<xjc args> Specifies a comma separated list of arguments that are passed directly to the XJC processor when using the JAXB databinding. A list of available XJC plugins can be obtained using -xjc-X.
-noAddressBinding For compatibility with CXF 2.0, this flag directs the code generator to generate the older CXF proprietary WS-Addressing types instead of the JAX-WS 2.1 compliant WS-Addressing types.
-v Displays the version number for the tool.
-verbose Displays comments during the code generation process.
-quiet Suppresses comments during the code generation process.
wsdlfile The path and name of the WSDL file to use in generating the code.
现在我们上网几乎都会用百度或者谷歌搜索信息,当我们在输入框里输入一两个字后,就会自动提示我们想要的信息,这种效果在Android 里是如何实现的呢? 事实上,Android 的AutoCompleteTextView Widget ,只要搭配ArrayAdapter 就能设计同类似Google 搜索提示的效果.
本例子先在Layout 当中布局一个AutoCompleteTextView Widget ,然后通过预先设置好的字符串数组,将此字符串数组放入ArrayAdapter ,最后利用AutoCompleteTextView.setAdapter 方法,就可以让AutoCompleteTextView 具有自动提示的功能.例如,只要输入ab ,就会自动带出包含ab 的所有字符串列表.
让我们看一下效果图:
下面是我们程序所涉及变动的代码(本例子代码写的相对较少):
首先是main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Please input:"
/>
<AutoCompleteTextView
android:id="@+id/actv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
其次是主控制程序AutoCompleteTextViewDemo.java:
package com.android.test;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
public class AutoCompleteTextViewDemo extends Activity {
private AutoCompleteTextView actv;
private static final String[] autoStrs = new String[]{"a","abc","abcd","abcde","ba"};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//通过findViewById()方法取到actv
actv = (AutoCompleteTextView)findViewById(R.id.actv);
//new ArrayAdapter对象并将autoStr字符串数组传入actv中
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line,autoStrs);
actv.setAdapter(adapter);
}
}