锘??xml version="1.0" encoding="utf-8" standalone="yes"?> Android Studio 0.8.2+ and above, could easily import modules. Thanks to TGMCains answer, is simplified, by using Android Studio itself to import OpenCV as a module. Step (6) is since Android studio expects native libs in OpenCV written is in C/C++. Java wrappers areapp/src/main/jniLibs instead of older libs folder. For those new to Android OpenCV, don't miss below stepsstatic{ System.loadLibrary("opencv_java"); }
]]>
@ResponseBody
public ResponseEntity<Post.Response> post(HttpServletRequest request) {
Post.Response resp = null;
Post.Request req = null;
String file = null;
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
if (multipartResolver.isMultipart(request)) {
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
try {
Collection<Part> parts = multiRequest.getParts();
boolean hasJSON = false;
boolean hasFile = false;
for (final Part p : parts) {
if (hasJSON) {
continue;
}
if (p.getContentType().contains("application/json")) {
ObjectMapper mapper = new ObjectMapper();
req = mapper.readValue(p.getInputStream(), Post.Request.class);
if (req != null) {
resp = new Post.Response();
resp.setX(100);
hasJSON = true;
}
} else if (p.getContentType().contains("image/jpeg")) {
++ index;
file = UPLOAD_ROOT + String.valueOf(index) + ".jpg";
InputStream is = p.getInputStream();
File localFile = new File(file);
OutputStream os = new FileOutputStream(localFile);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = is.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesRead);
}
os.close();
hasFile = true;
}
if (hasJSON && hasFile) {
break;
}
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (ServletException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
if (req != null && file != null) {
resp = calc.calc(req, file);
}
if (resp != null) {
return new ResponseEntity<Post.Response>(resp, HttpStatus.OK);
} else {
return new ResponseEntity<Post.Response>(resp, HttpStatus.BAD_REQUEST);
}
}
]]>
1. download opencv zip package錛?br /> 2. download cmake source zip錛?br /> 3. download ant binary package錛?br /> 4. install ant binary;
5. make cmake;
6. unzip opencv;
7. cmake opencv source;
#mkdir build
#cd build
#cmake -D BUILD_SHARED_LIBS=OFF ../
#make
8. install opencv library into Maven;
9. update pom.xml to add openvn dependency;
<groupId>org.opencv</groupId>
<artifactId>opencv</artifactId>
<version>2.4.11</version>
<systemPath>/Users/Jie/Downloads/opencv-2.4.11/build/bin/opencv-2411.jar</systemPath>
<scope>system</scope>
</dependency>
10. run webapp;
11. done;
緲諱簡鏃犳暟++鐨勯〉闈紝灝辮繖浜泘
]]>
鏃╀笂寰堟剰澶栧湴鏀跺埌涓涓暀璦, 璇存槸闇瑕丩AC (LingosHook Android Client)鍜屾暟鎹枃浠? 涓嶇煡澶у鏄惁榪樿寰楄繖涓? LAC鏁插畬鍙戝竷閮藉凡緇忚繃鍘諱袱騫翠簡, 鎬庝箞浣跨敤鐪嬭繖閲?/a>, 闇瑕佺殑灝辮繖閲屼笅杞戒簡.
c46.db3 - http://1drv.ms/1r436SDLAC.apk - http://1drv.ms/VzfFso
榪戞鏃墮棿Google鐨勬湇鍔¢兘涓嶅彲璁塊棶, 鎴戞妸榪欎袱涓枃浠墮噸鏂頒紶鍒癘neDrive涓婁簡, 騫墮殢鎵嬫妸鍏朵腑鐨勫箍鍛婄粰鍒犱簡, 鍞? 鍙嶆鍦ˋndroid涓婁竴鐐歸摱瀛愪篃瑙佷笉鍒? 绱㈡х湡闇瑕佺殑灝辨嬁鍘誨惂...
鍞? 瀹為檯閮藉繕璁拌繖涓狶AC浜? 鎯蟲兂鑷繁鍦ˋndroid涔熸暡浜嗕笁騫村崐浜? 搴旂敤, 娓告垙鏁蹭簡鍑犱釜, 浣嗙幇鍦ㄦ兂鎹喚璺烝ndroid鐩稿叧鐨勫伐浣滅珶鐒舵棤鏈? 鍚勭闃村樊闃抽敊瀵艱嚧鎬繪誨け璐? 鐪嬫潵杞榪樻槸涓嶅鍦?..
鏁蹭簡鍑犳櫄SnakeGo, 鍘熷瀷鍑烘潵浜? 澶у鏉ョ湅鐪嬩笉...



涓嶉敊, 榪欒揣灝辨槸---璐悆铔?..鍝堝搱...鍒? 榪欒繕鏄師鍨? 濂界帺鐨勫湪鍚庨潰鍛?..(浠ユ垜鏁插瓧閫熷害, 澶х害鍐嶇瓑涓嶅埌鍏釜鏈堝簲璇ュ彲浠ュ畬鎴愪簡...)
浠婂ぉ榪欓噷璁板綍涓嬩嬌鐢↙IBGDX榪囩▼涓鍒扮殑涓や釜闂:
1. 璋冩暣灞忓箷姣斾緥;
2. 縐誨姩瑙傚療闀滃ご;
涓, 璋冩暣灞忓箷姣斾緥
LIBGDX鏄法騫沖彴鐨? 涓澶уソ澶勫氨鏄洿鎺ュ湪PC涓婃祴璇? 閭f槸闈炲父鐨勬柟渚? 浣嗚繖鏈変袱涓棶棰橀渶瑕佽冭檻, 涓, 鎵嬫満鏄?280x768, 浣嗘垜PC鍙湁1280x1024鐨? 鑰屼笖鐪熻寮涓窡鎵嬫満涓鏍峰ぇ灝忕殑涓鏍峰ぇ灝忕殑灞忓箷, 閭h繕鎬庝箞鐪媗og杈撳嚭鍛? 浜屽氨鏄笉鍚岀殑鎵嬫満鏈夌潃涓嶅悓鐨勫垎杈ㄧ巼, 闀垮姣斾篃涓嶄竴鑷? 閭f庝箞淇濊瘉鍥懼艦涓嶅彉褰㈠憿?
榪欎釜闂涓嶉毦瑙e喅, 鍙渶瑕佸湪灞忓箷灝哄鍙戠敓鍙樺寲鏃? 鍗硆esize()(絎竴嬈″惎鍔ㄤ篃浼氳皟鐢ㄦ鍑芥暟)涓? 閲嶆柊璋冩暣闀滃ご(Camera)鐨勫弬鏁板嵆鍙? 濡備笅浠g爜:
@Override public void resize(int width, int height) { Vector2 size = Scaling.fit.apply(WIDTH, HEIGHT, width, height); camera = new OrthographicCamera(size.x, size.y); camera.update(); batch.setProjectionMatrix(camera.combined); int viewportX = (int)(width - size.x) / 2; int viewportY = (int)(height - size.y) / 2; int viewportWidth = (int)size.x; int viewportHeight = (int)size.y; Gdx.gl.glViewport(viewportX, viewportY, viewportWidth, viewportHeight); super.resize(width, height); }
榪欓噷閲囩敤鐨勬槸閲嶆柊鍒涘緩camera瀹炰緥鐨勬柟寮? 鍙﹀鐢ㄦ敼鍙樺凡鏈塩amera瀹炰緥鐨勫弬鏁版柟寮忎篃鏄竴鏍風殑. 寰堢畝鍗? 鑰屼笖榪欐牱涓嬈″氨瑙e喅浜嗕笂闈袱涓棶棰?-- PC鏈轟笂浣跨敤浠諱綍灝哄鐨勭獥鍙? 閮藉彲浠ヨ幏寰楄窡璁劇疆絳夋瘮渚嬬殑紿楀彛, 鎵嬫満涓婁害鏄姝? 鍍?a href="http://m.shnenglu.com/codejie/category/20828.html">I;P灝辨槸閲囩敤鐨勮繖縐嶆柟寮忔潵淇濇寔鍏跺湪浠繪剰鎵嬫満涓婇兘鏄?280:768鐨勬瘮渚?
榪欑鏂規硶鍙槸鏀瑰彉浜?瑙嗗浘'鐨勫ぇ灝? 浣嗗茍涓嶄細鏀瑰彉鍏朵腑鐨勫浘褰㈢殑澶у皬, 榪欐牱涓轟簡淇濇寔鍥懼艦鏄劇ず姣斾緥, 闇瑕佸湪杈撳嚭鍥懼艦鏃跺仛鐩稿簲鐨勬瘮渚嬫斁緙? 鍙互鍦╮esize()鑾峰緱榪欎釜姣斾緥, 鏌撳湪鍥懼艦杈撳嚭鏃朵嬌鐢ㄨ繖涓瘮渚?
screenScaling = new Vector2((size.x / WIDTH), (size.y / HEIGHT));
...
...
batch.draw(img, (- WIDTH / 2) * screenScaling.x, (- HEIGHT / 2) * screenScaling.y, WIDTH * screenScaling.x, HEIGHT * screenScaling.y);浜? 縐誨姩瑙傚療闀滃ご
鍦⊿nakeGo涓? 涓轟簡涓嶈Snake'璺戝嚭'灞忓箷, 闇瑕侀暅澶碿amera璺烻nake鏈韓淇濇寔'鍚屾'縐誨姩, 榪欐牱鐪嬭搗鏉nake淇濇寔鍦ㄥ睆騫曠殑涓棿, 浣嗗叾瀹僌bject鏄Щ鍔ㄧ殑. 鏍規嵁'鐩稿榪愯'鍘熺悊, 浣挎暣涓湅璧鋒潵鍍忔槸Snake鍦∣bject涓┛琛? 鎵浠? 縐誨姩camaera鏄繀欏葷殑, 浠g爜涔熺畝鍗? 濡備笅:
...
final OrthographicCamera camera = game.getCamera();
camera.translate(0.0f, 32.0f, 0.0f);
camera.update();
game.getSpriteBatch().setProjectionMatrix(camera.combined);
...
<----蹇冪儲鎰忎貢鐨勫垎鍓茬嚎---->
榪欏嚑澶╁湪鎵懼伐浣? 鍓嶉潰鍘婚潰浜嗕竴嬈? 鍏朵腑娌′竴涓狝pp鎴栬匞ame鐨勯棶棰? 鍊掑叏鏄疌++鐩稿叧鐨? 鐧繪椂灝卞偦鐪間簡...铏借鍜變篃鏄疌++'鍑鴻韓'鐨?涓嶇劧Blog涔熶笉浼氬湪榪欓噷涓嶆槸), 浣嗕篃璁哥湡鐨勬槸'鑰?浜? 鎵嶄笁騫翠笉鐢–++,绔熺劧蹇樿鐨勫彧鍓╀笅涓猘uto_ptr浜?..鏇存偛鍓х殑鏄挶鐢ㄧ殑C++98鏍囧噯宸茬粡鍙樻垚C++11浜? auto_ptr鍙樻垚smart_ptr浜?..
閮借鐜板湪鏄釜'璺ㄧ晫'鐨勬椂浠? 浣嗗挶榪欒繕娌℃湁璺ㄧ晫, 鍙槸鍚岃杞釜鏂瑰悜鑰屽凡, 涓哄暐灝辮繖涔堟偛鍓т簡...濂藉惂, 浼拌瀛﹁壓涓嶇簿鎵嶆槸鏍規湰...
鍚屽"'澶ф暟鎹?鐨勫崥澹?鍛ㄤ簲鏉ョ數, 闂垜瑕佷笉瑕佽窡濂逛竴璧峰仛涓?鍥懼儚鎼滅儲', 鏈変簺鐘硅鮑, 瑕佽涓夊勾鍓? 涔熻灝卞共浜? 浣嗙幇鍦?..鍐嶈漿嬈″槢...
鎭伴;P鏁插畬, 蹇冪儲鎰忎貢鐨勪竴鍛? 鍙ソ璧剁揣鎶撹搗SnakeGo鏉? 澶滃鐤暡, 鏉ュ畨鎶氱牥鐮拌簛鍔ㄧ殑蹇?..鏄殑, 鑷沖皯鏁插瓧鍙互璁╄嚜宸卞鉤闈欎簺...
鍚愭Ы鑰屽凡, 榪欓噷鎯寵 ---- 紼嬪簭鍛樹滑鍟? 杞瑕佽秮鐫騫磋交璧剁揣鍟?..
鑰佺埛瀛愬績涓嶈? 渚濈劧鍦ㄥ嫟鍕ゆ伋鎭沖湴鏁茬潃涔﹀拰浠g爜...娌¢敊, 灝辨槸source code. 鍍忚佺埛瀛愯繖鏍風殑鑰佷竴杈堜細鐢ㄧ數鑴戠殑閮戒笉澶? 鑰屾垜浜茬埍鐨勮佺埛瀛愰偅鏄細Turbo Basic鐨勯《灝栭珮鎵嬪晩...姣忔鎯沖埌榪欎釜, 鍐呭績閮藉嶆劅鑷豹...
褰撳勾鐨?紿楀彛"緙栫▼鏋佸叾綣佺悙, 濡傛灉涓嶇湅鐪嬮偅涓濂?lt;Win32 API澶у叏>, 鍐嶅姞涓婁釜<Visual C++鎶鏈唴騫?gt;, 閮戒笉淇濊瘉鑳芥暡涓猈indow鍑烘潵, 浠涔圚WND, hInstance, 浠ュ強涔變竷鍏碂鐨勫悇綾葷獥鍙e拰娑堟伅鐨剆truct...鍙嶆鎴戞槸鏃╂棭灝卞繕鍏夊厜浜?..鎯蟲兂鐜板湪鍦ㄧ殑Android涓婂紕涓?紿楀彛"鍑烘潵, 閭?閭g湡鏄?澶皬鍎跨"浜?..
鍛? 璺戣繙浜?..鎴戞剰鎬濇槸 ---- 鑰佺埛瀛愭姝ヤ簬Windows緙栫▼, 鍚勭被浠g爜鍏ㄩ儴榪愯鍦―OS涓? 闅忕潃Windows鐨勪笉鏂敼榪? 緇堜簬, Windows涓嬪啀涔熶笉鑳借繍琛岃佺埜鎵嬩腑鐨勬棤鏁岀鍣?-- Turbo Basic浜?..
鏇捐窡鑰佺埛瀛愯榪? 灝嗕粬鐨勪唬鐮侀兘縐昏嚦鍒癆ndroid涓? 浣嗚佺埛瀛愪笉鍚屾剰, 鍥犱負, 浠栬佷漢瀹惰繕瑕佹敼浜涘弬鏁扮殑, 鏀逛簺鍙傛暟, 浜涘弬鏁? 鍙傛暟...鐪嬬潃鑰佺埛瀛愬湪Win7涓婅涓猇M璺慩P鍐嶆墦寮Command紿楀彛榪愯Turbo Basic, 鐢氭槸杈涜嫤. 浣滀負鐭ュ師鐞? 浼欸oogle鐨勭▼搴忓憳鎴戞潵璇? 甯佺埛瀛愬紕涓狣OS铏氭嫙鐜鏉ヨ窇TB.EXE, 閭f槸蹇呴』鐨?..
浜庢槸灝辨湁浜嗕笅闈㈢殑鎴浘.

鍒涘緩SnakeGo宸ョ▼鐨勬椂鍊? 蹇界劧鍙戠幇涓涓?澶╁ぇ'鐨勬柊闂?-- Libgdx绔熺劧1.0.1鐗?/a>浜?!! 鏃犳暟涓?.99鐗堢殑鏃ュ瓙閲? 涓鐩磋涓鴻繖鐗堟湰灝辮鍙樻垚姘告亽浜?..
鏄ㄥぉ鎶奍;P鐨?a >Release鐗堟湰緇堜簬鎻愪氦涓婂幓浜? 鎬葷畻瀹屾垚浜嗚嚜宸辯殑涓涓洰鏍?-- 鍙戝竷涓涓狦ame搴旂敤! (EL鏄涓涓洰鏍?-- 鍙戝竷涓涓狝pp搴旂敤 :) )
鎵浠ユ槰鏅氱粓浜庡彲浠ュ紑濮嬫暡絎簩涓狦ame浜? 灝辨槸鍓嶉潰璇村埌鐨? 鍙互浣滃紛鐨勬棤鑴戞父鎴?-- SnakeGo ! 榪欐牱灝卞啀涔熶笉鎬曞洜涓篒Q榪囦綆鑰屽湪緹ら噷琚埡嬋浜?-- '鍐嶇瑧鎴戝氨寮鏃犳晫鐘舵佷簡,鐏搱鍝?(鍙拌瘝閮芥兂濂戒簡....), 鎵浠? 鐜板湪緇堜簬鐭ラ亾涓涓父鎴忕晫鐨?娼滆鍒? -- "鍙互浣滃紛"鏄繀欏葷殑! (I;P娌℃硶浣滃紛, 榪?榪欐槸澶氫箞'鐥?鐨勯鎮熷晩....)
濂藉惂, 涓嶅氨鏄?.0.1鍢?鍐嶅涔犱竴嬈″氨鏄簡...
铏氭嫙閫涜 : 絀胯涓庤櫄鎷熷寲鐨勫簵閾洪棿, 閫氳繃騫垮憡浠涔堢殑, 鏉ユ壘鎸囧畾鍟嗗搧, 鎴栬呭弬鍔犱粈涔堢殑媧誨姩, 瀹屾垚鍚? 鑾峰緱涓瀹氱殑閲戝竵, 縐垎鎴栬呮垚灝變粈涔堢殑, 鐒跺悗灝卞彲浠ュ湪-- 鐪熸鐨勫疄浣撳簵閾烘垨taobao搴椾腑鎶樹環璐拱鎴栬呭厤璐硅幏寰楀晢鍝?
浣犵湅榪欏垱鎰忓浣? 鎯蟲潵闃塊噷鑲畾浼氶氳繃榪欎釜騫沖彴鎵撻氳繖鏉¤櫄鎷熸父鎴忓埌瀹炰綋浜ゆ槗鐨勯氶亾鐨? 閭d箞榪欎釜騫沖彴鍒板簳浼氬浣曞疄鐜拌繖涓氶亾鍛? 浜庢槸璧剁揣鍘繪壘 -- 鎵嶅彂鐜? 鍦ㄦ柊闂葷ǹ涓繕鏈変釜鍏抽敭瀛楁垜娌℃湁鐪嬫竻 -- "灝?. 濂藉惂, 鎴戝績鎬ヤ簡, 鍘熸潵闃塊噷鐨勮繖涓鉤鍙拌繕娌℃湁寮鏀懼憿. 閭d箞涔熷ソ, 浣滀負涓氫綑娓告垙寮鏀捐? 鍙互濂藉ソ鎯蟲兂, 鍒板簳鎯寵涓庢牱鐨勬墜娓稿鉤鍙板憿?
鍏充簬闃塊噷榪欎釜騫沖彴鐨勬槸鏄潪闈炲凡緇忓湪鍚勫ぇ涓葷珯鐨勫笘瀛愬凡緇忓澶氫簡, 浠婂ぉ涓嶈鍝簺, 鍙粠鎴?-- 涓涓函綺圭殑涓氫綑娓告垙紼嬪簭鍛樿嚜韜儏鍐靛拰鐞嗚В鏉ヨ...
騫沖彴鍙槸涓涓蹇? 鑰屼笖瀵逛簬寮鍙戣呮潵璇? 騫沖彴灝辨槸涓鐗囨誕浜? 鑰岀湡姝h兘鐪嬪埌鐨? 鐪熸鎯寵鐨勯兘鏄簺瀹炲疄鍦ㄥ湪鐨勪笢瑗?---- APIs. 涓涓鉤鍙拌兘澶熶負搴旂敤甯︽潵浠涔堟牱鐨勬帴鍙f敮鎾戞墠鏄渶鏈緇堜簬鐨勫弬鏁?
涓. 騫沖彴鎯呭喌
鍥犱負瀵逛簬娓告垙鍙槸涓笟浣欎漢浜? 騫沖父榪樼湡娌″お鍏蟲敞榪囧悇澶у鉤鍙? 浠婂ぉ鏍規嵁榪欐鏂伴椈鎻愬埌鐨勫嚑欏?鎸囨爣"鍋氫簡涓嬫瘮杈?(鏈鍚庝竴鍒椾笉鍦ㄥ叾涓? 鍙槸鏈創闇瑕?
| 浼樺娍 | 浜戞湇鍔?/td> | 鏀粯 | 铏氭嫙璐у竵 | 鐢ㄦ埛緹?/td> | 寮鏀懼鉤鍙?APIs | |
| 闃塊噷 | 浜ゆ槗 | 闃塊噷浜?br> | 鏀粯瀹?/td> | ? | 娣樺疂 | ? |
| 鐧懼害 | 鍐呭 | 鐧懼害浜?br> | 鐧懼害閽卞寘 | ? | ? | open.baidu.com 涓漢鏁版嵁瀛樺偍 鎺ㄩ?br>絎笁鏂硅處鎴風櫥褰?br>紺句細鍖栧垎浜?br>縐誨姩緇熻 |
| 鑵捐 | 紺句氦 | 鑵捐浜?/td> | 璐粯閫?/td> | Q甯?/td> | QQ 寰俊 | open.qq.com 鐢ㄦ埛淇℃伅 鍏崇郴閾劇被 搴旂敤鎺ㄥ箍 鏀粯 钀ラ攢 |
濡備笂琛ㄥ彲浠ョ湅鍑? 鍏跺疄鍚勪釜騫沖彴璇ユ湁鐨勯兘鏈変簡, 娌℃湁鐨勪篃閮芥病鏈?榪欒瘽璇寸殑..) . 鍥捐〃涓篃娌″寘鍚儚360, 緗戞槗絳? 騫朵笉鏄浠栦滑鐨勬墜娓稿鉤鍙頒笉寮哄ぇ, 榪欓噷鍙槸鍋氫釜瀵規瘮琛? 鍚勪釜鐨刦ans琛ㄨ鐪熶簡.
濂戒簡, 鐜板湪璇撮噸鐐?..瀹為檯浣滀負涓涓笟鍔″紑鍙戣? 鎴戞渶鍏沖績鐨勬槸琛ㄤ腑鏈鍚庝竴鍒?-- "寮鏀懼鉤鍙?APIs" . 闃塊噷騫沖彴榪樻壘涓嶅埌, 鎵浠ョ┖鐫浜? 褰撶劧榪欎篃姝f槸鎴戜滑鍙互"鐬?鎯崇殑鍦版柟. 鎴戜滑鏉ョ湅鐪嬪叾瀹冧袱涓鉤鍙頒富瑕佹彁渚涚殑APIs.
鐧懼害:
娌℃湁鑷繁鐨勭敤鎴風兢, 娌℃湁鏀粯鏂瑰悜(涓嶆槸閫氶亾), 鎵浠ユ洿澶氬湴鍦?榛橀粯"鍦板共鐫"瀹炰簨", 鍍忔帹閫? 鏁版嵁瀛樺偍絳?鍋氫負寮鍙戣? 鎴戞瘮杈冩璧忕櫨搴︽彁渚涚殑榪欎簺API);
鑵捐:
渚濇墭搴炲ぇ鐨勭殑鐢ㄦ埛緹? 鍏禔PIs鏇村懼悜涓庣ぞ浜や氦浜掑拰涓氬姟鎺ㄥ箍, 浣嗗騫撮氳繃Q甯佸煿鍏昏搗鏉ョ殑"鍐呰喘"鍊懼悜, 鎵浠ヤ篃鏈変笓闂ㄧ殑鏀粯鎺ュ彛;
閭d箞, 鎴戜滑鎺ㄦ祴(甯屾湜)闃塊噷騫沖彴浼氭湁鎬庝箞鐨凙PIs鎻愪緵鍛? 璇濊闃塊噷鏈塼aobao, 鏀粯瀹? 鍐嶅姞涓婁釜鍙風О"絎竴"鐨勯樋閲屼簯, 榪欒鏄笁涓兘鎵撻氫簡, 紜疄鑳芥妸鑵捐涓嬩釜涓澶ц煩. 浣嗛樋閲屽湪紺句氦涓婁笉鏄己欏? 铏界劧寮烘帹浜嗗崐騫村鐨?鏉ュ線", 鎰熻榪樻槸鏅氫簡, 浼間箮涓孌墊椂闂村唴瀹屽叏涓嶅湪寰俊鐨勭溂閲? 閭d箞鏃╂湡搴旇鏇村叧娉?浜ゆ槗"鍜?鏀粯"鐩稿叧鐨凙PIs; 浣嗕綔涓哄悗璧風殑騫沖彴, 涔熶笉寰椾笉鑰冭檻涓嬪浣曞惛寮曞拰鎵舵寔寮鍙戣? 鎵浠?
闃塊噷:
1. 涔板鐧誨綍/綆$悊
2. 鍟嗗鐧誨綍/綆$悊
3. 鍟嗗璁塊棶
4. 鍟嗗搧綆$悊/灞曠ず/璁塊棶
5. 瀹夊叏鏀粯/鍐呰喘鎺ュ彛
6. 娑堟伅/騫垮憡鎺ㄩ?br> 7. 浜嬩歡璁板綍/瑙﹀彂
8. 搴旂敤鏁版嵁瀛樺偍
9. 搴旂敤鏁版嵁鍒嗘瀽/綆$悊
澶熷浜? 榪欑湡鏄?绔欑潃璇磋瘽涓嶈叞鐤?涓嶆槸...濂戒簡, 閭d箞浣滀負涓涓噹鐢熺殑涓氫綑娓告垙寮鍙戣呮潵璇?鎬ュ垏"鐨?鏈浣?闇瑕佷粈涔堝憿?
浜? 涓漢寮鍙戣呴渶姹?/p>
瀹為檯浣滀負閲庣敓鐨?鐙珛鐨?涓氫綑鐨勬父鎴忓紑鍙戣呮潵璇? 澶氭暟搴旇琚檺鍒跺湪"灝?欏圭洰涓? 閭d箞浣滀負騫沖彴, 鎻愪緵鐨勬湇鍔?鏀拺瓚婁赴瀵? 瓚婄伒媧誨氨鍙楁榪? 鍥犳, 浠?灝?欏圭洰鐨勫叡鎬ф潵鐪? 甯屾湜騫沖彴鑳芥彁渚涘涓嬫敮鎸?
1. 騫沖彴鏈嶅姟
a. 搴旂敤鍙戝竷: 榪欎釜鏄繀欏葷殑涓嶆槸?
b. 搴旂敤鏁版嵁緇熻涓庡垎鏋? 閫氳繃鏀墮泦鍒扮殑搴旂敤鏁版嵁, 濡傚畨瑁呮暟閲? 瀹夎鍒嗗竷絳変俊鎭? 鍙互闈炲父鏈夋晥鍦頒負搴旂敤鑷韓鏀瑰杽鎻愪緵鏁版嵁鍙傝?
c. 騫垮憡綆$悊: 搴旂敤鐨勫箍鍛婃帴鍏ヤ笌榪囨護;
d. 閽卞寘綆$悊: 搴旂敤鏀跺叆鎯呭喌灞曠ず涓庡垎鏋? 鍐呰喘鏁版嵁綆$悊;
e. 淇℃伅鎺ㄩ? 灝辨槸GCM鐨勫姛鑳? 浣嗚鑳藉紕涓兢鍙戞敮鎸佺殑璇? 闃塊噷浜戝簲璇ユ悶瀹?
f. 搴旂敤鍏辨ф暟鎹渶姹傛敮鎸? 渚嬪搴旂敤鐨勬帓琛屾鏁版嵁鐨勫瓨鍌ㄥ拰灞曠ず, 鎴愬氨鏁版嵁璁劇疆涓庤Е鍙? 搴旂敤鐨勯厤濂楄鍧?IM絳塖NS騫沖彴絳?闃塊噷浜戝氨鍦ㄩ偅閲? 鏄笉鏄憿?);
2. APIs鏀寔
a. 鐢ㄦ埛鏁版嵁璁塊棶: 鏀寔鐢ㄦ埛鐧誨綍, 鑾峰彇鐢ㄦ埛鑷韓鏁版嵁;
b. 鍟嗗鏁版嵁璁塊棶: 鑾峰彇鍟嗗淇℃伅;
c. 鍟嗗搧鏁版嵁璁塊棶: 鑾峰彇鍟嗗搧淇℃伅;
d. 鏀粯瀹濇帴鍙? 鏀寔鐢ㄦ埛璐拱鍟嗗搧;
e. 鍐呰喘鎺ュ彛: 鏀寔鐢ㄦ埛璐拱搴旂敤鍐呭晢鍝?榪欎釜璺熸敮浠樺疂鎺ュ彛搴旇涓嶄竴鏍?;
f. 騫垮憡鎺ュ彛: 瀹炵幇浼犵粺鐨勫摢縐嶅箍鍛婂彂甯冪殑鎺ュ彛灝卞ソ;
g. 娑堟伅/浜嬩歡鎺ㄩ佹帴鍙? 鏀寔閫氳繃搴旂敤鐨勬湇鍔$涓嬪彂娑堟伅/浜嬩歡鍒板簲鐢?
鍡? 榪欎簺搴旇澶熶簡(瀹為檯鐩墠鎴戠殑娓告垙鍙渶瑕佸叾涓竴鏉?.), 鑵頒笉鐤?.. 澶氱敤鎴蜂氦嫻? 鐢ㄦ埛鐘舵佹暟鎹淮鎸佷粈涔堢殑, 閭f槸楂樼駭寮鍙戣呮兂瑕佺殑浜? 浠栦滑搴旇鑷繁鍙互鎼炲畾榪欎簺浜? 鏂伴椈涓?闃塊噷鐨?:2鍒嗘垚鏂瑰紡鏄寮鍙戣呯殑鎵舵寔, 瀹為檯涔熸湁鎸栧鑴氫箣瀚? 浣? 濡傛灉騫沖彴鐨勫姛鑳界伒媧誨己澶? 2:8鐨勫垎鎴愪竴鏍峰彲浠ュ紩浜哄叆浼欎笉鏄?
璇村埌瀵瑰紑鍙戣呯殑鎵舵寔, 鎴栬呭彨鍋氭媺浜轟笅姘翠篃濂? 鍙嶆閮芥槸涓轟簡澧炲姞浜烘皵涓嶆槸? 閭d箞闃塊噷鍙互鑰冭檻涓嬩笅闈㈢殑娉曞瓙.
涓? 鎵舵寔
1. 浜ゆ祦騫沖彴
寮鍙戜腑蹇? 浜ゆ祦璁哄潧浠涔堢殑, 鍚勭嫻佽鐨勬ā寮忎篃娌″暐濂借鐨? 寰堝鏃跺? 鎴戣寰椾竴涓ソ鐨勪氦嫻佸鉤鍙頒笉浠呯粰寮鍙戣?瀹?鐨勬俯鏆栨劅瑙? 鍙嶅掓槸鑳芥彁渚涙壘涓В鍐抽棶棰樺湴鏂? 鑰屽噺灝戞尗璐ユ劅鏉ョ殑鏇撮噸瑕?-- 璇濊, 闅鵑亾浣犱笉鍠滄stackoverflow.com鍚?
2. 铏氭嫙鍥㈤槦緇勫緩
涓嶅緱涓嶆壙璁? 褰撲笅鐨勬父鎴忎笉鍐嶆槸涓涓漢鍙互鎼炲畾鐨? 鑷沖皯濡傛垜榪欐牱鐨? 鍙細code, 瀹屽叏涓嶆噦PS鐨勭▼搴忓憳, 鏁叉墦鍑烘潵鐨勬父鎴忓熀鏈兘鏄敤鏉?鍚撲漢"鐨? 浣嗙洰鍓嶇湅, 鍜辮繖縐嶉噹鐢熺殑涓氫綑紼嬪簭鍛樿繕娣蜂笉鍒版父鎴忛槦浼嶄腑, 鎵浠?..涓轟綍涓嶅嚭澶磋冭檻寤虹珛铏氭嫙鍥㈤槦鐨勬柟妗堝憿?
鏉窞鍦ㄥ姩婕柟闈篃綆楀墠渚? 鏁蹭唬鐮佺殑涔熶互涓囪, 鑰屽鏁扮殑灝忔父鎴忛兘鏄?鐭鉤蹇?鐨勯」鐩? 鎵浠ュ憿...褰撳垱鏂板嚭鐜版椂, 闃塊噷鍙渶媧句釜鍏艱亴鐨凱M鍑烘潵, 鍗忚皟緇勫緩涓復鏃跺洟闃? 寮曞鍥㈤槦浣跨敤鑷韓騫沖彴, 鍗忓姪搴旂敤鍒涘緩鍙戝竷浠涔堢殑...榪欏浜庝笟浣欐父鎴忓紑鍙戣呭拰騫沖彴鑷韓鏉ヨ, 涓嶆槸涓浠跺姛寰鋒棤閲? 涓鐭沖楦? 鏅ぇ鍠滃鐨勫ソ浜嬪悧?
<---- 姹傛墿鏁g殑鍒嗗壊綰?---->
閮借闅斿叚涓漢灝卞彲浠ヨ窡濂ュ反椹惌涓婂叧緋? 瑕佹槸瑙夊緱"鐬?鎯崇殑鏈変簺閬撶悊, 閭e氨鎵╂暎瀹冨惂, 璇翠笉瀹氬氨鑳借鏌愪釜鍋氬鉤鍙扮殑澶т漿鐪嬪埌, 鐒跺悗榪樼湡鐨勮繖涔堝仛浜? 閭? 閭e挶榪欐牱鐨勭殑閲庣敓涓氫綑娓告垙寮鍙戣呬滑灝卞彲浠ョ瑧閱掍簡鍟婁笉鏄?...
"嬈e枩鑻ョ媯"鍙戣揣鍚? 浠婂ぉ鏌ョ湅鐘舵佸彂鐜? LingosHook鎹愯禒鎻掍歡绔熺劧琚?榪濊"鍒犻櫎浜?..蹇界劧鏉ヤ簡鎰熸叏: 鎹愯禒鑰? 鎰熻阿浣犱笅鎵嬫瘮taobao蹇? 鍢垮樋... 浜庢槸"璧剁揣"鍒犻櫎"榪濊"瀛楃溂, 閲嶆柊鍙戝竷涓婂幓...

LingosHook浠庡紑濮嬫暡鎵撳埌浠婂ぉ宸插洓騫寸殑鏃墮棿浜? 榪欓噷鎰熻阿鍚勪綅鎹愯禒鑰? 鍚勪綅浣跨敤鑰? 鎰熻阿浣犱滑鐨勬敮鎸佸拰浣跨敤 !
arg0) {








<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method='html' version='1.0' encoding='UTF-8' indent='yes'/>
<xsl:template match="LingosHook Android Client">
<HTML><HEAD></HEAD><BODY>
<xsl:apply-templates/>
</BODY></HTML>
</xsl:template>
<xsl:template match="W">
<DIV>
<SPAN style="LINE-HEIGHT: 150%; COLOR: #000000; FONT-SIZE: 180%"><B>
<xsl:value-of select="."/>
</B></SPAN>
</DIV>
</xsl:template>
<xsl:template match="D">
<DIV style="LINE-HEIGHT: 120%; background-color:#cfddf0; COLOR:#000080; FONT-SIZE: 100%"><B>
<xsl:value-of select="."/>
</B>
</DIV>
</xsl:template>
<xsl:template match="C">
<xsl:for-each select="F">
<DIV style="MARGIN: 5px 0px">
<xsl:apply-templates/>
</DIV>
</xsl:for-each>
<xsl:if test="E">
<DIV style="MARGIN: 4px 0px; LINE-HEIGHT: 150%; FONT-SIZE: 100%">
<B>Extension:</B>
<FONT COLOR="#229922">
<xsl:for-each select="E">
<xsl:value-of select="."/>
</xsl:for-each>
</FONT>
</DIV>
</xsl:if>
</xsl:template>
<xsl:template match="H">
<SPAN style="LINE-HEIGHT: 120%; COLOR: #000000; FONT-SIZE: 120%">
<xsl:apply-templates/>
</SPAN>
</xsl:template>
<xsl:template match="L">
<DIV style="MARGIN: 0px 0px 5px; ">
<xsl:value-of select="."/>
</DIV>
</xsl:template>
<xsl:template match="M">
[<FONT COLOR="#009900">
<xsl:value-of select="."/>
</FONT>]
</xsl:template>
<xsl:template match="I">
<DIV style="MARGIN: 0px 0px 5px">
<xsl:apply-templates/>
</DIV>
</xsl:template>
<xsl:template match="N">
<DIV style="MARGIN: 4px 0px; LINE-HEIGHT: 120%; FONT-SIZE: 120%">
<xsl:apply-templates/>
</DIV>
</xsl:template>
<xsl:template match="U">
<FONT color="#c00000">
<xsl:value-of select="."/>
</FONT>
</xsl:template>
<xsl:template match="x">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="h">
<I>
<xsl:value-of select="."/>
</I>
</xsl:template>
</xsl:stylesheet>




