XML database or Sqlite? - Xposed General

Hi,
I'm trying to create a small DB, at first i thought about using Sqlite, but since my Xposed model doesn't always have context, it seems impossible.
So i thought using XML file (eventually, my DB contains only one table, each row has 2 values). but it seems there' s no good way to manage the XML file (i need to read & write every once in a while)...
What is the best practice?
Thanks,

I don't think there's a "best practice" – you'll just need to see what you want and what's best suited for your use case.
You could try getting a context using AndroidAppHelper.currentApplication().

Related

HTC Weather, problem & fix

I thought I would add this here unless anyone else runs into the same problem. I broke my HTC Weather yesterday while trying to upload local cities into it. I am running the Dec 03 release of HyperDragon, but HTC Weather seems to be the same (at least in terms of files to edit) across different platforms.
After adding my local city, and uploading it back to the phone when I went into the weather tab to add a new city, I was unable to search for any cities. In fact the search screen contained no entries at all. Essentially, I corrupted the xml file, and the phone was unable to read it.
How I broke it:
Be careful what you edit with. I just opened the file with word pad in Vista to copy my new city information, but the xml file and word pad don't like each other. I found that the tilde ( ` ) <--- that character appearing over letters was unsupported in word pad. The xml file was unable to then read it. It saw it as corrupted data.
To fix it:
I just deleted the offending cities with tilde's in them. I didn't need them anyways. However, one could also just edit the file with a better program and re-upload it to the phone. Once I fixed the file, HTC Weather saw my new cities and was more than happy to read them.
Maybe someone else already went over this. I don't know. But I know I searched on the forum for quite some time without finding out what I did wrong.
AT&T tilt running Hyperdragon
The first mistake was editing an XML file with wordpad. Try using Komodo next time. Always use the proper software for certain editing functions.
Heres a link to the Freeware Komodo XML Editor.
http://community.activestate.com/products/Komodo
didnt I say that
SpiritOne said:
I thought I would add this here unless anyone else runs into the same problem. I broke my HTC Weather yesterday while trying to upload local cities into it. I am running the Dec 03 release of HyperDragon, but HTC Weather seems to be the same (at least in terms of files to edit) across different platforms.
After adding my local city, and uploading it back to the phone when I went into the weather tab to add a new city, I was unable to search for any cities. In fact the search screen contained no entries at all. Essentially, I corrupted the xml file, and the phone was unable to read it.
How I broke it:
Be careful what you edit with. I just opened the file with word pad in Vista to copy my new city information, but the xml file and word pad don't like each other. I found that the tilde ( ` ) <--- that character appearing over letters was unsupported in word pad. The xml file was unable to then read it. It saw it as corrupted data.
To fix it:
I just deleted the offending cities with tilde's in them. I didn't need them anyways. However, one could also just edit the file with a better program and re-upload it to the phone. Once I fixed the file, HTC Weather saw my new cities and was more than happy to read them.
Maybe someone else already went over this. I don't know. But I know I searched on the forum for quite some time without finding out what I did wrong.
AT&T tilt running Hyperdragon
Click to expand...
Click to collapse
Next time use notepad that is what i use...also the XML file is in my download section go there and download it open it in notepad and edit then move it into the windows folder...u should be good to go..
How did you manage to get adding cities to WORK?
I followed the instructions that have been posted around, but the URL fragment is NOT as displayed in those posts anymore on www.accuweather.com.
Going to htc.accuweather.com from my Kaiser gets me something that looks SOMEWHAT similar, but its not the same - if I try to use the same format that other US cities are in for mine, I can locate it in the list but it won't update.
Any help?
Genesis3 said:
How did you manage to get adding cities to WORK?
I followed the instructions that have been posted around, but the URL fragment is NOT as displayed in those posts anymore on www.accuweather.com.
Going to htc.accuweather.com from my Kaiser gets me something that looks SOMEWHAT similar, but its not the same - if I try to use the same format that other US cities are in for mine, I can locate it in the list but it won't update.
Any help?
Click to expand...
Click to collapse
I am not sure what you are asking...I just added my city like MOD Scotchua said to do and it worked...
http://forum.xda-developers.com/showpost.php?p=2644237&postcount=2366
Aha - I screwed up. Its working now
Spoke too soon..... it KINDA works.
The currnet Manila 2D executable will go back to the top screen (the home page) if you hit the END button twice. It also will mark an incoming SMS "read" if you sit on it on the top page for a few seconds.
The patched one does neither. It will not go back to home unless you navigate there, and SMS do not get marked read.
Is the patch involved (e.g. could I go in with a hex editor and make a change to the CURRENT Manila executable?)
Update to THAT....
I took a quick look at the executables and found the change, with the different URLs. However, it appears the new one is longer than the old, which means that a quick "patch in place" is unlikely to work (I have no idea what's AFTER that block of data - and it ain't zeros, and IS apparent UTF-8 text - so I'm likely to scramble something doing a quick overwrite.)
This in turn implies that you need a way to disassemble the exe file and replace the data, then reassemble it (e.g. to assembler, at least) assuming you don't have source.
So..... anyone have a tool for this or is this a case of "have lots of fun playing with something that can disassemble it, find a clean place in the data segment to put the new reference, and fix it that way" sort of game?
SpiritOne said:
didnt I say that
Click to expand...
Click to collapse
yep... just rubbing it in some more
I wouldn't use notepad either. I'd rather not get into a long discussion about editing xml files with notepad either
An XML editor is definitely the way to go.
Yet another update....
What's with the app here? I patched it with a string that fits using a hex editor.
What I wind up with refuses to run. Are these apps cryptographically signed?
Answer: Yep, and once modified, the signature is no good. I don't see anything in Advanced Config that can turn that protection off either; you can disable the requirement that CABs be signed, but I don't see where you can disable the requirement that APPLICATIONS be signed. My security policy settings are such that all security is off, but attempting to run the patched executable by hand elicits a complaint about the signature being invalid. I presume that a MISSING signature would be ok, but a CORRUPT one is going to get complained about - and I have no means to fix that.
Yet more....
I have found the code-signing tools after rooting around and re-signed the application.
It still fails to work; it appears there is a SECOND call to an HTC web site in the current Manila2D code which is NOT in the other patched file.
That one goes to: http://weather.manila1.htc.com/widget/htc/forecast-data_v3.asp?locCode=
DNS shows the address is a CNAME to htc.accuweather.com, and the worse news is that the replacement string that goes in the other place doesn't fit in there - its one byte too long.
It also looks like THIS is the one being called for updates, because changing the other, direct call to the htc.accuweather.com link doesn't change anything - the codes in the file that refer to places accuweather handles still work, but those that refer to other places do not.
Any ideas?
Final Fix - Read
Ok, here's what I've accomplished.
I patched the Manila2D.exe (the CURRENT copy from HyperDragon and others) and have re-signed the code (with a self-signed cert)
I also grabbed the php script and set it up on a VERY short domain name I registered this afternoon, htcwx.org - it exists ONLY for this purpose and is NOT a generic HTC web site.
I have modified the script as necessary, and the firmware as necessary. The replacement Manila2D.exe file is attached. To implement this simply replace the Manila2D.exe in your \Windows directory on the device with the one in this ZIP file. That's it; you can then add city codes at will in the weather file list and they will work.
The previously-posted version of Manila2D.exe has a couple of bugs that I consider show-stoppers, and patching the current version necessitated having a shorter URL as one of the places required to be patched would not allow the "not2advanced" url to fit.
Note that this weather reflector is being run by me, is OPEN and will remain indefinitely; I have a very high-bandwidth connection and expect no interruption in that service. Feel free to use it.
I now have WORKING HTC weather in Manila for virtually anywhere.... and you can too without the restrictions that existed in the previous patched copy (no return to home screen with the END key, and no SMS message marking)
This script "portal" should also work with any other patched HTC Home or HTC Manila applications; the complete url is http://htcwx.org/wx.php?
Note that there is NO general content on that web site.
Enjoy!
PS: As of this instant the .ORG TLD nameservers haven't picked the domain up yet from my registrar. That's abnormal; I see it on my infrastructure but not globally. It should be globally visible by morning.
There's just one thing left to say:
Thank you!
I've been fiddling with this for quite some time, and once I've found this thread everything worked as advertised!!
Happy new year!!
Glad it works for you! Happy New Year to you as well.
Hi Genesis3,
I have installed yesterday Josh's v15 M2D Plain 3G ROM and would like to customize the Weather and add my location.
Your Manila2D.exe is 1.1 Mo where the Manila2D.exe included in this ROM is only 410 KB .... Do you think I can change the original by your's ?
Thanks
That copy is PROBABLY compressed. If it is, the strings can no longer be patched.
You need to talk to the chef and get the uncompressed EXE file - if he has it.
Packed manila2d.exe
I haven't seen anyone post about this but the compressed manila2d.exe that I have uses UPX it worked for me to both unpack and repack the file.
Look into the file for "$Info" if it say's packed with UPX the link above may work for you too. (about 350h char's in)
ENJOY!
Genesis3 said:
That copy is PROBABLY compressed. If it is, the strings can no longer be patched.
You need to talk to the chef and get the uncompressed EXE file - if he has it.
Click to expand...
Click to collapse
As with everything here YMMV, make backups and if you blow it up don't blame anyone but the operator.

[REQ] XML builder for Raph

Hi all
I was wondering how many people here would like to have some sort of way to build an xml which upon completion of a ROM update (which for some us are only day's apart) would change a load of settings to what we want for them
this is just a concept at the moment and i would like to work with someone or the community as a whole to produce a program to do this
the concept i have is as follows:
a simple windows exe Window which has inside it drop down menu's for all of the settings possible (cleartype/text size/regional settings/time zone/notification settings) fields (username for email/password/server addresses/screen name)
and if possible, something to allow us to drag and drop CAB file's into a window which would then also package up the cab's into a folder and spit out/generate the relevant SDCONFIG.txt file
is this at all possible? is there much interest in this?
I can go through and try to find as many of the settings possible and attempt to perhaps find the relevant registry settings even
i would really like to get the ball rolling with this, im sure it could work really well, not only on the raphael, but also on other devices perhaps
please post any interest on this project/concept here and i would really like to do something about this, im about to go and figure out the best way to even code this, however my coding knowledge is about zilch.lol!
.PROVXML files are the ideal place for last minute configuration changes. I'm just starting to explore this avenue and I've found tremendous flexibility in what one can change.
Have a look at the following information ... right from the source
Provisioning Using a ROM Configuration XML File
http://msdn.microsoft.com/en-us/library/bb737254.aspx
Configuration Service Provider Reference for Windows Mobile-Based Devices
http://msdn.microsoft.com/en-us/library/ms889539.aspx
There's also some excellent thread on XDA ... you'll have to do a bit of searching for them.
HTH,
have you looked at oemizer?
Assume this is the one you mean: http://tiermann.net
... takes the fun out of doing this the "manual way"
Cheers,
I don't use it personally. I came across it when I was learning with my M3100 (Hermes) and it provided a few useful insights at the time when I disected what it had created. I found a few problems and don't use it, but it seems like a similar attempt to what the OP is trying to achieve.
many thanks for the replies
im just looking into the oemizer that was posted and see how that works, however, i get the impression that its for rom cooking
Hi duke_stix,
That's where it's often used ... although, I have come across some posts about utilities that can re-initiate Provision XML files already present on the device or new ones placed on an SD card.
*EDIT* - Some examples
DotFred's Task Manager: http://www.dotfred.net/TaskMgr.htm
HTCustom: http://shadowmite.com/forum/viewtopic.php?f=28&t=2231&p=7890#p7890
Cheers,
I have not seen anything that does exactly what you suggest, but things to look at that are maybe related include
Sashimi
tier-autoinstall (or something like that)
They run the files but don't create them.
You can always just export the reg values and then import them after you flash...
or use a reg to xml program to add it to SDConfig
I'm working on a new app right now that might have the potential to cover what you're asking for, but the exact features necessary to pull off at least a part of it won't be available in the first release. Keep an eye out on the D&H forum in anywhere from a week to two weeks when I post it up there.

[Q] Altering Shutdown Message

Good Evening Guys,
A few quick questions for you this Wednesday evening; looking to make some customizations to my Windows Phone. I would like to alter the word "Goodbye" when the phone turns off to display alternative text.
Question 1: Is anyone familiar where these settings are stored in the root offhand?
Question 2: Can anyone confirm if this is simply text or a prerendered image?
Questin 2: Has anyone ever tried anything like this before?
Best Regards!
Device Type
Almost forgot:
Nokia 1020
OS:8.0.10521.155
Um... we can't even made the smallest of changes to the Lumia file system (outside of the user documents/media folders and the app folders) or registry. Trying to change system stuff like this is pretty out of the question.
Since you ask, though: to the best of my knowledge, nobody has found that even on the Samsung Ativ phones, for which we have most of a working "jailbreak".
The string that is displayed is probably pulled from a .MUI file.
Thanks for the feedback guys. If I make any headway, I will post back. Would love to have the device power down with "Will I dream?" from 2010 The Year We Made Contact.
That would indeed be cool. You've got an uphill battle, though. If it is, in fact, a .MUI file then it's probably signed (MUIs are technically DLLs, and although they are usually just loaded as resource files they can contain executable code so I expect Microsoft signs and enforces signature checks on them). Thus even if you get filesystem write access, it may not work.
A true custom ROM, where you could remove the signature check requirements, would probably work. That's no simple thing to ask for, though!
Shut Down Message
GoodDayToDie said:
That would indeed be cool. You've got an uphill battle, though. If it is, in fact, a .MUI file then it's probably signed (MUIs are technically DLLs, and although they are usually just loaded as resource files they can contain executable code so I expect Microsoft signs and enforces signature checks on them). Thus even if you get filesystem write access, it may not work.
A true custom ROM, where you could remove the signature check requirements, would probably work. That's no simple thing to ask for, though!
Click to expand...
Click to collapse
What is free time for if not to obsess over little niggly things? Thanks for the feedback

[Q] Idea about how to get values from a table

Hello!
As some could see in my other topic, I'm learning about android studio to make an app with some maths to help me with my job.
Well, in one specific case, I need to search and get values in a table, based in a reference. Its basically like the VLOOKUP/HLOOKUP function in Excel.
My doubt is the ideal way of doing that, is there any kind of table inside the android studio, like a container or something ? Or I should use a data base ?
Below is the same math, on excel, that is the base that I'm creating the app for android, in this case is a simple table, but in some cases are many values:
The attachment 001.png is the list where I select the materials Standard, and then I get the 2 values σt and σe from the table.
The attachment 002.png is the table I am looking for the values:
Sorry about this kind of question, but I'm just reading a lot, looking for tips leading me to an ideal way of doing it, but its a little hard in the beginning.
Thanks in advanced.
Barata
Conversion
Hey from your question , I undestood that you are looking for ready table to give values.
As i see you are getting values in excel.
1) There is no direct conversion table available into android studio.
2) You can use library project import if you require familiar conversion tables.
3) If in excel you make your own conversion method . apply same into Anddroid studio.
What more , share your method or query breif.
Hello,
Thanks for replying satyampv,
Actually my doubt isnt about conversion, I said about excel because I'm used to work with it. And its so easy to use vlookup there that I was wondering if would have something like it on android studio .
If I have to put some huge table in a database here on android, it's ok, I accepted that I would have to do it. But the doubt is if I really have to use a database, or if exists other way to look up for values in a table. Like you said "2) You can use library project import if you require familiar conversion tables.", is that an alternative for a database ?
Or should I just forget those "normal tables" from my mind and use SQL lite ? Because is just to look for values, just read, I don't need to write neither do any changes in the table after it's created.
Thanks in advanced, again.
barata

Development question - error resource file has much lines

Hey buddies. On my app to pebble, on IDE CloudPebble, I created a new resource, is a simple txt file, but this file have 3000 lines. If I cut some lines, the app install normally(example 500 lines), but I want that it read all txt(the 3000 lines). To read, I use the recomended functions of Developer GetPebble, after I add the strings to a array 'n execute a function, after this array is cleaned, to read a new line of strings. Exists a configuration to resolve this? I really want read all lines. I don't wanna install it app into pebble smartwatch, I created it app only to test, before use into watch without read the resource file, only capturing data of accelerometer.
Language C.
Resource type: Raw Binary Blob.
This file has 78,5 kb. Thanks!

Categories

Resources