• Android programming

    From Charles Pierson@21:4/111 to All on Thursday, October 22, 2020 17:12:58
    OK, so I've spoken about several ideas before in the abstract about possibilities for BBS compatibile type apps for Android.
    At the time, I was operating under a semi-assumption that Android apps were written in Java. Since I don't know Java, and only found 1 program's source code in Java, I pretty much figured it was beyond my abilities.
    However, researching further, I've discovered that it is possible to write apps
    in other languages, such as C++, using something like Android Studio with some additional NDKs.
    So my question is this, is there any difference in code going from one OS/platform whatever you want to call it to another?

    I mean, as an example, I pretty easily found C++ source code for MultiMail., I've seen people looking for QWK reader capability for Android. Would it require a lot of re-writing the code to adapt? I know that some things like file compression and the like would need some work. It wouldn't be a straight recompile into an Android app. But would it be better to start with an existing
    code, or start from scratch?
    So let it be written, So let it be done.
    --- AfterShock/Android 1.6.7
    * Origin: HOUSTON, TX (21:4/111)
  • From tenser@21:1/101 to Charles Pierson on Wednesday, October 28, 2020 03:20:17
    On 22 Oct 2020 at 05:12p, Charles Pierson pondered and said...

    OK, so I've spoken about several ideas before in the abstract about possibilities for BBS compatibile type apps for Android.
    At the time, I was operating under a semi-assumption that Android apps were written in Java. Since I don't know Java, and only found 1
    program's source code in Java, I pretty much figured it was beyond my abilities. However, researching further, I've discovered that it is possible to write apps in other languages, such as C++, using something like Android Studio with some additional NDKs.

    Indeed, you can write android applications in a variety of languages.
    At this point, however, I cannot recommend languages like C++: they're
    just too convoluted and too difficult to get the details right in.

    Have you looked at Kotlin at all? That is the preferred Android language.

    So my question is this, is there any difference in code going from one OS/platform whatever you want to call it to another?

    I suppose this depends on what, precisely, you mean? Do you mean is
    there difference in code you'd right for, say, Windows and code for Linux
    and code for Android? Again, the answer is "it depends". Specifically,
    it depends on how you use the features of those systems, and whether you
    do so in such a way that the details are abstracted away from your program.
    For many programs, this is fine; say, stuff that just does simple IO and computation. But if you make use of the operating system for something
    that's not strictly defined by the language you're using, then in general
    the answer is "no." Consider, for example, creating a new process. On
    the Unix family this is often done using `fork`, while on Windows there's
    a system facility called (I think) `CreateProcess`. You can write something that abstracts away the difference from the bulk of your code (and indeed,
    you should do so as just a general software engineering hygiene principle!)
    but at some point that difference does exist: it isn't turtles all the way down, at some point the turtle's got to stand on something.

    --- Mystic BBS v1.12 A46 2020/08/26 (Windows/32)
    * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101)
  • From Charles Pierson@21:4/111 to tenser on Wednesday, October 28, 2020 09:07:41
    Thus spake tenser:

    possible to write apps in other languages, such as C++, using something
    like Android Studio with some additional NDKs.

    Indeed, you can write android applications in a variety of languages.
    At this point, however, I cannot recommend languages like C++: they're
    just too convoluted and too difficult to get the details right in.

    That is similar to what I have read. I know it definitely be challenging to say the least.

    Have you looked at Kotlin at all? That is the preferred Android language.

    I actually haven't heard of it before. I'll have to check it out.

    So my question is this, is there any difference in code going from one
    OS/platform whatever you want to call it to another?

    I suppose this depends on what, precisely, you mean? Do you mean is
    there difference in code you'd right for, say, Windows and code for Linux and code for Android? Again, the answer is "it depends". Specifically,
    it depends on how you use the features of those systems, and whether you
    do so in such a way that the details are abstracted away from your program. For many programs, this is fine; say, stuff that just does simple IO and computation. But if you make use of the operating system for something that's not strictly defined by the language you're using, then in general the answer is "no." Consider, for example, creating a new process. On
    the Unix family this is often done using `fork`, while on Windows there's
    a system facility called (I think) `CreateProcess`. You can write something
    that abstracts away the difference from the bulk of your code (and indeed, you should do so as just a general software engineering hygiene principle!) but at some point that difference does exist: it isn't turtles all the way down, at some point the turtle's got to stand on something.

    Specifically, my ideas currently BBS related. I've floated vague ideas here before, likely to the amusement of others. There are a couple of point system apps on Android, I use them both. Both have features I like, and both have things I'm not real satisfied with. And neither have seen any updates in a couple of years.

    I've also seen people mentioning interest in QWK reader ability for Android.

    With those two projects, and others, I'm sure, there is source code out there.
    JEDpoint, which I'm not familiar with, has JAVA code available, and for Example MultiMail, which if I recall correctly, is a fairly popular QWK reader, has the C++ source code. So my thoughts at this juncture is why reinvent the wheel?
    Yes, there would be more to it than a simple recompile to Android, I'm certain.
    But it seems to me that it would still be a better start point than starting from scratch.


    Or am I off base here?


    So let it be written, So let it be done.
    --- AfterShock/Android 1.6.7
    * Origin: HOUSTON, TX (21:4/111)
  • From tenser@21:1/101 to Charles Pierson on Friday, October 30, 2020 09:20:12
    On 28 Oct 2020 at 09:07a, Charles Pierson pondered and said...

    Specifically, my ideas currently BBS related. I've floated vague ideas here before, likely to the amusement of others. There are a couple of point system apps on Android, I use them both. Both have features I
    like, and both have things I'm not real satisfied with. And neither have seen any updates in a couple of years.

    I've also seen people mentioning interest in QWK reader ability for Android.

    With those two projects, and others, I'm sure, there is source code out there.

    JEDpoint, which I'm not familiar with, has JAVA code available, and for Example

    MultiMail, which if I recall correctly, is a fairly popular QWK reader, has the C++ source code. So my thoughts at this juncture is why reinvent the wheel? Yes, there would be more to it than a simple recompile to Android, I'm certain.

    Ah, I see what you mean. Yes, you could probably extract some code
    from one or the other and run it on Android; it may be a bit of work.
    If nothing else, some of the techniques could be translated from one
    language to the other or to something else entirely. Adding numbers
    on one system is the same as adding them on another, for the most
    part; same with, say, pulling subfields out of strings.

    That is, no, I don't think you're off-base. I'm sure there would be
    some code that could be meaningfully re-used (say, extracting message
    data from the QWK format), even if the system interface and UI would
    have be to redone.

    --- Mystic BBS v1.12 A46 2020/08/26 (Windows/32)
    * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101)
  • From Charles Pierson@21:4/111 to tenser on Thursday, October 29, 2020 21:15:52
    Thus spake tenser:

    the wheel? Yes, there would be more to it than a simple recompile to
    Android, I'm certain.

    Ah, I see what you mean. Yes, you could probably extract some code
    from one or the other and run it on Android; it may be a bit of work.
    If nothing else, some of the techniques could be translated from one language to the other or to something else entirely. Adding numbers
    on one system is the same as adding them on another, for the most
    part; same with, say, pulling subfields out of strings.

    That is, no, I don't think you're off-base. I'm sure there would be
    some code that could be meaningfully re-used (say, extracting message
    data from the QWK format), even if the system interface and UI would
    have be to redone.

    That's my hope at least. It'll be a little while before I can seriously get started with it. Family issues are taking priority at the moment, of course.


    So let it be written, So let it be done.
    --- AfterShock/Android 1.6.7
    * Origin: HOUSTON, TX (21:4/111)