0

このコードを使用して、カスタム パッケージ名とその他の変数を使用して Android アプリケーション プロジェクトを「生成」(既製のものを変更) しています。コードは現在機能しています (nodejs npm)。

URL リクエストを送信する場合: http://magicarate.eu01.aws.af.cm/generate?appName=Hey&packageName=com.hey&webUrl=http://hey.com

アプリ名「Hey」、パッケージ名「com.hey」、WebURL「http://hey.com」のアプリケーションを生成します(明らか..)

(事前に作成された)アプリケーションの構造は次のようになります。

 App
   |--src
   |  |--package
   |    |-- name
   |       |-- file.java
   |
   |--res
   |  |--layout
   |  |  |--layout.xml
   |  |  
   |  |--drawable
   |     |--logo.png         <---
   |     
   |manifest.xml 

logo.png をユーザー提供のファイルに変更するか、既製のアプリケーションの drawable フォルダーを空にして、ユーザー提供のファイルをそこに配置できるようにします。

変数とフォルダー (パッケージ名) を変更する私のコードは、ここに投稿するには少し長すぎます。Pastebin にアップロードしました: http://pastebin.com/z1sX6NRj

私はかなりの初心者で、テキストの置き換えとは異なるため、これを行うための最良の方法とこれを行う方法 (最初にユーザーから画像を取得する) を考えています。

4

1 に答える 1

1

httpモジュールを使用してイメージをダウンロードし、ファイル システム モジュールを使用してディスクに保存します。Stream モジュールも参照してください。

var http = require('http');
var fs = require('fs');

var file = fs.createWriteStream("destination.png");
file.on('close' function() {
    // image saved
    // make a zip now
});
var request = http.get("http://your/img.png", function(response) {
  response.pipe(file);
});

あなたの場合

function downloadAndSaveUserImage(url, done) {
    http.get(url, function(response) {
        var file = fs.createWriteStream("where/you/want/it/to/be.png");
        file.on('close' done);
        response.pipe(file);
    });
}

sendContentAsZip(destDir, res);と置き換えます

downloadAndSaveUserImage(req.query.imageUrl, function whenImageIsSaved() {
    sendContentAsZip(destDir, res);
});

URLが有効かどうかなどを確認する必要があります。

于 2013-06-29T13:46:59.753 に答える