Published Date : 2021年4月21日10:08

【Androidアプリ:パート8】個人事業主と給与所得者の所得税と住民税を計算するAndroidアプリ
【Android app:Part 8】Android App Calculates Income and Resident Taxes for sole proprietors and salaried workers


This blog has an English translation


ニコニコ動画にアップした動画のまとめ記事です。

This is a summary blog post about a video I uploaded to NicoNico.

細かい部分は動画を参考にしてください。

Please refer to the video for details.


目次

Table of Contents




① 動画の説明
① Video Description



警告:

今回説明する給与所得者と個人事業主等の所得税及び住民税を計算するアプリは、あくまで簡易的なお遊び用のアプリです。

正確な数値、計算方法は各自で調べて下さい。

このアプリは大雑把に大体の見積りを計算して楽しむ為のアプリです。

決して従業員の年末調整や個人の確定申告等に使用しないでください。

さらに、税金の計算方法は変更される場合があり、控除についても同様です。

また、控除や税金の計算方法が間違っている可能性もありますので、

あまり信用せずに、各自で調べてから実験してみてください。

このアプリを使って何かしらの損害が発生したとしても、私は一切の責任を負いません。

Warning:

​The app I'm going to show you for calculating income and residence taxes for salaried workers and Individual employers, etc. is just a simple application for playing.

​Please check the exact number and calculation method by yourself.

​This app is used to calculate rough estimates and enjoy them.

​Do not use for year-end adjustment of employees or for individual tax return.

In addition, the method of calculating taxes and deductions may change.

Also, there is a possibility that the deduction and tax calculation methods are incorrect.

Don't trust it too much, and test it yourself.

​I will not be liable for any damage caused by using this app.

個人事業主と給与所得者の所得税と住民税を計算するAndroidアプリパート8。

Android App Calculates Income and Resident Taxes for sole proprietors and salaried workers, Part 8.

前回の続きです。

Continued from last time.

各種控除の項目一覧と入力フォームのレイアウトファイルの作成を続けましょう。

Let's continue creating the list of various deductions and the input form layout file.


Responsive image

名前の頭に[common]が付いているだけで、内容は前回の動画シリーズのコードと同じです。

The name is just prefixed with [common] and the content is the same as the previous video series.


Responsive image

なので、前回の動画で作成したアプリからコードをコピペしてください。

So copy and paste the code from the app you created in the previous video.


Responsive image

コピペしていくだけなので、説明無しで一気に終わらせましょう。

All you have to do is copy and paste, so let's finish it all at once without explanation.

common/res//layout/various_deductions_panel_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<GridLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="9dp"
    android:background="@drawable/common_border"
    android:columnCount="2"
    android:rowCount="50"
    android:visibility="gone" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_row="0"
        android:layout_column="0"
        android:layout_gravity="center_vertical"
        android:layout_margin="3dp"
        android:text="@string/commonCasualtyLossDeductionItemName"
        android:textSize="12sp"
        android:textStyle="bold" />
    <EditText
        android:id="@+id/casualtyLossDeductionForm"
        android:layout_width="150dp"
        android:layout_height="wrap_content"
        android:layout_row="0"
        android:layout_column="1"
        android:layout_gravity="end"
        android:layout_margin="3dp"
        android:inputType="numberDecimal"
        android:gravity="end"
        android:hint="@string/commonEqText"
        android:autofillHints="@string/commonEqText"
        android:textSize="18sp"
        android:textStyle="bold"
        android:imeOptions="actionDone" />

    <FrameLayout android:layout_row="1"
        android:layout_column="0">
        <include layout="@layout/income_tax_deduction_text_views" android:id="@+id/commonITDTLayout" />
    </FrameLayout>

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    <TextView
        android:id="@+id/specialDeductionForTiIncomeText"
        android:layout_width="150dp"
        android:layout_height="wrap_content"
        android:layout_row="48"
        android:layout_column="1"
        android:layout_gravity="end"
        android:layout_margin="3dp"
        android:gravity="end"
        android:background="@color/commonGrayEEE"
        android:textSize="18sp"
        android:textStyle="bold" />

    <FrameLayout android:layout_row="49"
        android:layout_column="0">
        <include layout="@layout/resident_tax_deduction_text_views" android:id="@+id/commonRTDTLayout" />
    </FrameLayout>

    <TextView
        android:id="@+id/specialDeductionForTiResidentText"
        android:layout_width="150dp"
        android:layout_height="wrap_content"
        android:layout_row="49"
        android:layout_column="1"
        android:layout_gravity="end"
        android:layout_margin="3dp"
        android:gravity="end"
        android:background="@color/commonGrayEEE"
        android:textSize="18sp"
        android:textStyle="bold" />

</GridLayout>

ようやく終わりましたね。続いてcsvファイルの読み込みと編集を行うJavaクラスファイルをcommonライブラリ内に作成します。

It's finally over. Then create a Java class file in the common library to read and edit the csv file.


Responsive image

このクラスファイルに最初に用意するメンバ変数やメソッドは前回の動画シリーズで作成したものと同じ内容のものです。

The first member variables and methods in this class file are identical to those created in the previous video series.


Responsive image

なので前回作成したコードからコピペしましょう。

So copy and paste the code from the app you created last time into this class file.


Responsive image

続いて、個人事業主が使う国民健康保険料の計算に使うcsvファイルの読み込みと編集を行うメソッドを作成します。

You then create a method to read and edit the csv file that is used to calculate the National Health Insurance fee used by sole proprietors.


Responsive image

内容は先ほどコピペしたメソッドと殆ど同じです。少しシンプルになっています。

The content is almost the same as the method I copied earlier. It's a little simple.

違いといったらユーザーが選択する為の東京23区のリストを作成するくらいでしょうか。

The only difference is to make a list of Tokyo's 23 wards for users to choose from.


Responsive image

出来上がったアプリの挙動はこのようになります。

This is the actual behavior of the completed application.

パート9へ続く。

Continue to Part 9.



以上です。お疲れ様です。

That's all. Thank you for your hard work.