KDP(電子出版)のメモ 急急如律令

Amazon Kindleダイレクト・パブリッシングでの電子出版や電子書籍の作成販売について、文章やイラストの作成や編集方法について書いています。

androidのテストコードの書き方がわからない

Windowsで動いていた部分のコードをAndroid Studioで動くかをテストしたかったのだけど、いまいちよくわからなかった。なので、MainActivity.javaに直接ログ出力させていた。確認ができればいいかな。

アンドロイドアプリ上でテストできればそれで良いのだけれど。そうすると、実機でやるかエミュレーター上で動かすしかないので動かすまでの時間がかかる。 qiita.com

テストコード 外字ルビ変換など

package io.github.kyukyunyorituryo.aozoraepub3;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.widget.TextView;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.StringWriter;

import io.github.kyukyunyorituryo.aozoraepub3.util.CharUtils;
import io.github.kyukyunyorituryo.aozoraepub3.writer.Epub3Writer;
import io.github.kyukyunyorituryo.aozoraepub3.converter.AozoraEpub3Converter;
import io.github.kyukyunyorituryo.aozoraepub3.info.BookInfo;
import io.github.kyukyunyorituryo.aozoraepub3.converter.AozoraGaijiConverter;
import io.github.kyukyunyorituryo.aozoraepub3.converter.JisConverter;
import io.github.kyukyunyorituryo.aozoraepub3.converter.LatinConverter;

public class MainActivity extends AppCompatActivity {

    @SuppressLint("SetTextI18n")
    @Override
    protected void onCreate(Bundle savedInstanceState) {


        super.onCreate(savedInstanceState);
        EdgeToEdge.enable(this);
        setContentView(R.layout.activity_main);
        TextView textArea=findViewById(R.id.textView);
        findViewById(R.id.button).setOnClickListener(v -> {
            String tst="55"+"WW";
            textArea.setText(CharUtils.fullToHalf(tst)+tst);
        });
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
            return insets;
        });

        Epub3Writer writer = new Epub3Writer("");
        AozoraEpub3Converter converter = null;
        try {
            converter = new AozoraEpub3Converter(writer, this);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        String str;
        try {
            str = converter.convertTitleLineToEpub3(converter.convertGaijiChuki("|ルビ※[#米印]《るび》※[#米印]※[#始め二重山括弧]※[#終わり二重山括弧]", true, true));

            String line = converter.convertGaijiChuki("外字の後のルビ※[#(外字.tif)]《がいじ》", true, true);
            System.out.println(line);

            line = converter.convertGaijiChuki("外字の後の|ルビ※[#(外字.tif)]《がいじ》", true, true);
            System.out.println(line);

            line = converter.convertGaijiChuki("※[#(外字.tif)]《がいじ》", true, true);
            System.out.println(line);
            line = converter.convertGaijiChuki("外字の後の|ルビ《るび》※[#(外字.tif)]《るび》", true, true);
            System.out.println(line);

            line = converter.convertGaijiChuki("その上方に※[#逆三角形と三角形が向き合っている形(fig1317_26.png、横26×縦59)入る]《デアボロ》", true, true);
            System.out.println(line);
            converter.vertical = true;
            StringBuilder buf;
            buf = converter.convertRubyText("※《29※》");
            System.out.println(buf);
            buf = converter.convertRubyText("※※#※》");
            System.out.println(buf);

            buf = converter.convertRubyText("|※|縦線《たてせん》※|");
            System.out.println(buf);
            //Assert.assertEquals(buf.toString(), "<ruby>|縦線<rt>たてせん</rt></ruby>|");
            buf = converter.convertRubyText("※|縦線《たてせん》※|");
            System.out.println(buf);
            //Assert.assertEquals(buf.toString(), "|<ruby>縦線<rt>たてせん</rt></ruby>|");
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        System.out.println(str);

        String jarPath ="";

        AozoraGaijiConverter gaijiconverter;
        try {
            gaijiconverter = new AozoraGaijiConverter(this);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        System.out.println(gaijiconverter.codeToCharString("U+0041"));
        System.out.println(gaijiconverter.codeToCharString("U+04E02"));
        System.out.println(gaijiconverter.toAlterString("感嘆符三つ"));
        JisConverter gconverter = JisConverter.getConverter();
        System.out.println(gconverter.toCharString(0, 0, 1)); // !
        System.out.println(gconverter.toCharString(1, 4, 87)); // か゚
        System.out.println(gconverter.toCharString(1, 12, 90)); // null
        System.out.println(gconverter.toCharString(1, 13, 94)); // ☞
        System.out.println(gconverter.toCharString(1, 14, 1)); // 俱
        System.out.println(gconverter.toCharString(1, 16, 1)); // 亜
        System.out.println(gconverter.toCharString(2, 94, 64)); // 䵷
        System.out.println(gconverter.toCharString(2, 94, 86)); // 𪚲
        System.out.println(gconverter.toCharString(1, 90, 16)); // 縈 1-90-16
        System.out.println(gconverter.toCharString(2, 94, 85));

        LatinConverter latinConverter = null;
        try {
            latinConverter = new LatinConverter(this);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        System.out.println(latinConverter.toLatinCharacter("A&") );
        System.out.println(latinConverter.toLatinCharacter("A`") );
        System.out.println(latinConverter.toLatinCharacter("A\'") );

    }
}

'toLatinCharacter(java.lang.String)' is not public in 'io.github.kyukyunyorituryo.aozoraepub3.converter.LatinConverter'. Cannot be accessed from outside package