私はここでGoogleから多くの人になり、自分でAndroidアプリケーションを作成しようとして以来、v4 APIはあまり役に立たないので、私は困惑しています。私はここで検索しましたが、私の質問に答える答えは見ませんでした。データを上書きせずに行を挿入する
私は予算スプレッドシートを持っています。私のアプリは、シートからデータを取得し、それを現在の給与にフィルターします。だから私は現在のすべての取引と将来の取引を見ることができるので、どれくらい余計に使うことができるか分かります。それから私はちょうど私がガスを得る場合、シートアプリでシートを編集するために数分を費やそうとするのではなく、数回のクリックでそれを追加できるようにするために、アプリケーションから新しい牽引を挿入できるようにしたい。後で、私はそれを置いているセルの数式をカスタマイズし、それを北と南のセルにコピーして、数学が動くようにする予定です。
私はthe Android Quickstartを使用して、データを簡単に読み取ることができました。その後、データをフィルタリングするためにシートデータをフィルタリングするためにそれを調整しました。私はそれまでシートにデータを書き込めるようになった。問題は、セルを上書きするのではなく、シートの中央に行を挿入する方法を知っているクイックスタートと同じスタイルのjava/androidのサンプルを見つけることができないということです。私はどこかでINSERTDATAOPTION = INSERT_ROWSを使用する必要があると仮定していますが、どこにも追加できません。 documentationは私がspreadsheets.values.appendを使用することを提案しますが、.appendは決してオプションとして表示されません。私はBatchGet、BatchUpdate、Get、Updateだけを取得します。
私は初心者で、私のコードは私が数時間のグーグルで一緒につなぎましたが不器用だと確信していますが、私はただ簡単に何かを欠いていると確信しています。どんな助けもありがとう。
private List<String> PostDataForApi() throws IOException {
String spreadsheetID = getResources().getString(R.string.my_google_spreadsheet_id);
Integer sheetID = getResources().getInteger(R.integer.my_google_sheet_id);
List<RowData> rowData = new ArrayList<RowData>();
List<CellData> cellData = new ArrayList<CellData>();
String value = "test";
String formula = "=IF(COUNTBLANK(C510) = 2,\"\",Sum(B511+(SUM(C510))))";
String value2 = "999";
CellData cell = new CellData();
cell.setUserEnteredValue(new ExtendedValue().setStringValue(value));
CellData cell2 = new CellData();
cell2.setUserEnteredValue(new ExtendedValue().setFormulaValue(formula));
CellData cell3 = new CellData();
cell3.setUserEnteredValue(new ExtendedValue().setStringValue(value2));
cellData.add(cell);
cellData.add(cell2);
cellData.add(cell3);
rowData.add(new RowData().setValues(cellData));
BatchUpdateSpreadsheetRequest batchRequests = new BatchUpdateSpreadsheetRequest();
BatchUpdateSpreadsheetResponse response;
List<Request> requests = new ArrayList<Request>();
AppendCellsRequest appendCellReq = new AppendCellsRequest();
appendCellReq.setSheetId(sheetID);
appendCellReq.setRows(rowData);
appendCellReq.setFields("userEnteredValue");
requests = new ArrayList<Request>();
requests.add(new Request().setAppendCells(appendCellReq));
batchRequests = new BatchUpdateSpreadsheetRequest();
batchRequests.setRequests(requests);
response = this.mService.spreadsheets().batchUpdate(spreadsheetID, batchRequests).execute();
System.out.println(response.toPrettyString());
return null;
}
回答を回答として投稿してください。元の質問の編集を参照する回答を投稿しないでください。 – zero298
私は両方を編集しました。ありがとう。 – Stormcrow