Five Different Methods for Loading Data in Python - Huawei Developers

Data is the foundation of data scientists, so it is important to understand the many ways in which data is loaded for analysis. Here, we will introduce five Python data entry techniques and provide code examples for your reference.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
As a beginner, you probably know only one way to read data using the p andas.read_csv function (usually in CSV format). It is one of the most mature and powerful features, but other methods are helpful and sometimes sure to come in handy.
The way I'm going to discuss this is:
1. Manual function
2. loadtxt function
3. genfromtxtf function
4. read_csv function
5. Pickle
The data set we will use to load the data can be found here. It is called 100-Sales-Records.
Imports
We will use Numpy, Pandas, and Pickle packages, so import them.
1. Manual Function
This is the most difficult because you must design a custom function that loads data for you. You must handle the general archiving concept of Python and use it to read .csv files.
For example, let's do this on 100 sales record files.
Well, what's this? ???It seems a bit complicated code!!! Let's break it gradually so that you can understand what's going on and apply similar logic to read your own .csv file.
Here, I created a load_csv function that uses the path of the file to be read as a parameter.
I have a list named data that will have my CSV file data, and the other list col will have my column name. Now, after manually checking the csv, I know that the column names are in the first row, so in my first iteration I have to store the data in the first row in col and the rest in data.
To check for the first iteration, I used a Boolean variable called checkcol, which was false, and when it was false in the first iteration, it stored the data in the first row in col, and then set checkcol to True, so we processed the data list and stored the rest of the values in the data list.
The main logic here is that I iterate through the file using functions in readlines() Python. This function returns a list of all the rows in the file.
When reading a title, it detects a new line as a \n character, or a line-terminal character, so I use the str.replace function to remove it.
Since this is a .csv file, I have to comma according to different things, so I'll run a string each with string.split("). For the first iteration, I'll store the first row, with the list containing column names called col. Then I append all the data to a list called data.
To read the data better, I return it as a data box format because it is easier to read data boxes than numpy arrays or python lists.
Output
What are the pros and cons of doing this?
The important benefit is that you have all the flexibility and control over the file structure and can read and store it in any format and way you want.
You can also use your own logic to read files that do not have a standard structure.
Its disadvantage is that, especially for standard types of files, it is complex to write because they are easy to read. You must hard-code logic that requires trial and error.
Use it only if the file is not a standard format or if you want flexibility and read it in a way that the library does not provide.
2. Numpy.loadtxt function
This is a built-in function in Numpy, the famous digital library in Python. Loading data is a very simple function. This is useful for reading data of the same data type.
This feature is hard to read when the data is more complex, but it is powerful when the file is simple.
To get a single type of data, download the virtual dataset here. Let's jump to the code.
Here, we simply use the loadtxt function as a ',' in the input delimiter because this is a CSV file.
Now, if we print df, we'll see the data in a fairly good numpy array that we can use.
Because of the large amount of data, we printed only the first five lines.
An important aspect of using this feature is that you can quickly load data from a file into a NumPy array.
The disadvantage is that you cannot have other data types or missing rows in the data.
3. Numpy.genfromtxt ()
We'll use the data set, the 100 Sales Records.csv data set used in the first example, to prove that it can contain multiple data types.
Let's jump to the code.
To see it more clearly, we can see it in data box format, that is
What's this? Oh, it skips all columns with string data types. What do we do?
Simply add another dtype parameter and set dtype to None, which means that it has to take care of the data type of each column itself. The entire data is not converted to a single dtype.
Then output
It's much better than the first one, but the column header here is Row, and to make it a column header, we have to add another parameter, Name, and set it to True so that it will use the first row as the column header.
i.e.
1
df3 = np.genfromtxt('100 Sales Records.csv', delimiter=',' , dtype=None, names=True, encoding= 'utf-8')
We can print it as
4. Pandas.read_csv()
Pandas is a very popular database manipulation library, which is very common. Read_csv() is one of the most important and mature features that can easily read any .csv file and help us operate. Let's work on a dataset of 100 sales records.
This feature is easy to use and is therefore very popular. You can compare it to our previous code and check it.
Guess what? Done. This is actually so simple and easy to use. Pandas.read_csv certainly provides many other parameters to adjust our dataset, for example in our convertcsv.csv file, we don't have column names, so we can read them as
We can see that it has read the CSV file without the title. You can view all other parameters in the official documentation here.
5. Pickle
If your data is not in a good format that humans can understand, you can use pickle to save it in binary format. You can then easily reload it using the pickle library.
We'll get a CSV file of 100 sales records and first save it in pickle format so we can read it.
This will create a new file test.pkl containing pdDf from the Pandas header.
Now to open it with pickle, we just need to use the pickle.load function.
Here, we have successfully loaded the data from the pickle file in pandas. DataFrame format.
This article translated from https://bbs.huaweicloud.com/blogs/209773
For details about Huawei developers and HMS, visit the website.
HUAWEI Developer Forum | HUAWEI Developer
forums.developer.huawei.com

Interesting and can be useful.

Related

Ebook Reader

Mobipocket Reader (Ebook Reader) free
The best free ebook reader for the Windows Mobile is hands down the Mobipocket reader. This free application is for Windows Mobile, Desktop Computers and various other handhelds. It features autoscrolling, like movie credits. It also allows you to make ebooks out of Word, HTML, PDF and many other document types. It has a direct connection to an ebook store. If you install a dictionary it will look up words from out of the books. If you install a book on your desktop, when you dock your handheld it automatically syncronizes your books to the handheld. Not only that but it allows you to annotate your books with bookmarks, highlighting, notes etc. The annotations also synchronize with your handheld. There are lots of books to choose from on the site, dictionaries, medical books, bibles etc. Plus you can build and sell your own with encryption using the free Creator app.
Main Site
www.mobipocket.com
Download Site
http://www.mobipocket.com/en/DownloadSoft/default.asp?Language=EN
Direct link to Windows Mobile cab
http://www.mobipocket.com/en/DownloadSoft/DownloadManualInstall.asp
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
My Devices
Nino 300
Nino 312
Casio E-105
Casio E-125
Hitachi G-1000
Palm Treo 600
Audiovox PPC 6600
PPC 6700
Mogul PPC 6800
There's a software I will not use, hate spammers...
Check my device list
First, the download is free.
Second, most my use with the product is creating my own ebooks out of documents for reading purposes which is also free.
This is my first time posting to the site and I wanted my post to be professional and informative unlike a lot of other posts that dont have pics or good general information.
Sorry, I am not a spammer or affiliatied with Mobipocket in any way, but a power user who likes good info.
I don't like spammers either.
Before you bash check out the product.
My Devices
Nino 300
Nino 312
Casio E-105
Casio E-125
Hitachi G-1000
Palm Treo 600
Audiovox PPC 6600
PPC 6700
Mogul PPC 6800
just try Alreader...
i am wondering: how power user can name pdf reading useful on qvga lol.
I Agree 100% with drlebey.
I have tried many ebook readers and I always come back to mobipocket. It is BY FAR the best one I have come across.
Very nice! But actually I use FoxitReader and also works great. Doesn't have the sync capability tho.
How does it compare to uBook? New versions of uBook are not free but I think the old one worked pretty well.
nothin said:
just try Alreader...
i am wondering: how power user can name pdf reading useful on qvga lol.
Click to expand...
Click to collapse
As the original author stated..maybe you should TRY it before you complain about it....I keep an assortment of books on my storage card and mobireader does a great job of making them readable...keeps your spot so when you reopen it, you are right back where you started and up/down on the dpad to navigate.
nothin said:
just try Alreader...
i am wondering: how power user can name pdf reading useful on qvga lol?
Click to expand...
Click to collapse
When you import the pdf it fits everything to screen. You can adjust the font size and it also brings in the pics, link etc. Plus, and this is a big plus, it autoscrolls the screen and you can adjust the scroll speed.
The Alreader program looks interesting, but is there an english version? If so, could you post a direct link to the site?
Reading PDF on QVGA is always pain in the a$$ due to the screen and PDF file format limitations. I use freeware Haali Reader that has these main features:
- Loads plain text and XML files.
- Cyrillic encodings support with autodetection.
- Last viewed position in file is saved on exit.
- ClearType support.
- Any font/size can be selected.
- Fullscreen and landscape mode.
- Colors can be adjusted.
- Text search.
- Dictionary support. Tapping a word opens a translation window.
- Automatic hyphenation (russian language only).
- Table of contents and bookmarks
- Multiple columns support (1-4)
- PRC/PDB files support (plain text and XML only, HTML is not supported).
- Builtin ZIP archives support.
- Autoscroll (controlled from keyboard/buttons only, settings are in Options->Buttons).
why would that be spamming??
It doesn't read PDF files
Haali Reader is a very fast program with lots of options. It looks to be more promising the next version or 2 later. I say this because of the errors I encountered. It doesn't support as many file formats as Mobipocket and I did not like the desktop version very much. I will give it a chance on the mobile device and use it here and there to see if it grows on me.
sabestian said:
why would that be spamming??
It doesn't read PDF files
Click to expand...
Click to collapse
You can import many formats with the desktop program including PDFs and send them to your device. They read much better than acrobat reader does on the mobile device.
drlebey said:
You can import many formats with the desktop program including PDFs and send them to your device. They read much better than acrobat reader does on the mobile device.
Click to expand...
Click to collapse
Will try that! I think as far as integration goes (desktop & PPC) the mobireader is leader. I found something about english and AlReader here. It seems to be a very nice reader too.
thank you
thank you!
This looks interesting, thanks for the information. I'll check it later.
uBook 0.8o - last free
uBook 0.8o - the last (?) free version
I like this application for:
It reads from ZIP archives
It reads HTML
I hate this application for:
It doesn't have capability to manage files
It doesn't show png pictures
It doesn't have touch scrolling / It's not thumb friendly
New versions are not free - the last one but the most important
Bets regards
IGIdeus
drlebey said:
The best free ebook reader for the Windows Mobile is hands down the Mobipocket reader.
Click to expand...
Click to collapse
I don't like this e-reader because I don't know how to use it.
I don't know how to display e-books from my location.
There is only option to open e-book, but I must go to my directory every time.
There is no possibility to change location of library.
There is only option to show one of 3 known extensions or all files (also unknown formats for reader).
Best regards
IGIdeus
P.S. Is there any manual?
I think (I may be wrong) the spam reference was about mobipocket.com (I always get their crap in my inbox), NOT the originator of this thread.
Thanks for the info!
joemanb said:
I think (I may be wrong) the spam reference was about mobipocket.com (I always get their crap in my inbox), NOT the originator of this thread.
Thanks for the info!
Click to expand...
Click to collapse
I think they thought the original poster was spamming for mobipocket because he presented his post in a very professional manor with pics and a list of features...and he had a low post count.
I appreciate the fact he took the time to do so and since the program is free see no incentive for anyone to "spam" it.

[12/25] nueGPSSecurity 1.2

nueGPSSecurity - basically an anti-theft thing I'm sure many of you have seen/used before. The difference of course is that nueGPSSecurity is much more lightweight (~17kb) and you'll probably forget that its installed...
12/17 - updated to version 1.1
12/17 - updated to version 1.11 critical update!!! please download (see http://www.nuerom.com/BlogEngine/post/2008/12/17/nueGPS-Critical-update.aspx)
12/25 - updated to 1.2
To talk to the service, send a text message:
!nuegps<pin> <action>
where pin is your pin number, and action is one of these action verbs:
version: display version number
status: get system status
getpos: text back next position fix (auto-start gps)
quickpos : gets your position and turns gps off after
getlink: gets a link to google maps with the position of the phone
quicklink: gets a link to google maps with the position of the phone, turns gps off after.
alarm: turns on an alarm and takes phone off silent/vibrate
alarmoff: turns the alarm off
track: tracks your phone’s current position and uploads the position online.
stoptrack: stops uploading your position online.
Track uses a google maps+street view interface to display a visual of your phone location. You’ll need to be a donator to take advantage of the feature (again, due to server cost issues) and generate a token for your phone using the donator control panel (If you have an old token, you’ll have to generate a new one because this feature requires the new phone field). Once you’ve done that – login here: http://www.nuerom.com/nuedonate/gpslocator.aspx and select your phone to view its location. Note that the application currently only records the last 5 minutes of your location and only records if you’ve donated at least 5$.
help: display this help message
start: start gps monitor
stop: stop gps monitor
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
update details: http://www.nuerom.com/BlogEngine/post/2008/12/25/nueGPSSecurity-v112.aspx
original post http://www.nuerom.com/BlogEngine/post/2008/12/14/nueGPSSecurity.aspx
that's pretty cool.
looks very simple and leightweight.
i will check it out.
one questiong though, if i send an sms and the phone is inside will it wait until it has a good gps fix and only then send a message?
any thoughts about having it send a google maps .kml file via email to a predesignated email address?
Nice soft small but very usefull
aguas said:
any thoughts about having it send a google maps .kml file via email to a predesignated email address?
Click to expand...
Click to collapse
yeah, that sounds like a good idea... shouldn't take too long to implement =)
ok updated, no KML yet, but google maps link is there.
Is it possible to add a feature where it will detect if a new/different sim card is put into the phone?
For example, we can have a set registry entry myphone="12345678" - upon startup, if the nuegps service finds out if the entry in the registry is not the same as the number of the simcard, it will automatically initiate a quickpos/getpos and send an SMS to myphone, = "12345678".
This can be useful if the phone is stolen and the thief puts in a new simcard.
An extension to the above idea would be to have another registry entry "emergencycontact" = "99999999" (basically your spouse/gf/friends number) where the SMS gets sent to instead of "phone".
kunz said:
Is it possible to add a feature where it will detect if a new/different sim card is put into the phone?
For example, we can have a set registry entry myphone="12345678" - upon startup, if the nuegps service finds out if the entry in the registry is not the same as the number of the simcard, it will automatically initiate a quickpos/getpos and send an SMS to myphone, = "12345678".
This can be useful if the phone is stolen and the thief puts in a new simcard.
An extension to the above idea would be to have another registry entry "emergencycontact" = "99999999" (basically your spouse/gf/friends number) where the SMS gets sent to instead of "phone".
Click to expand...
Click to collapse
yeah, im thinking of how to implement that; i come from the cdma world where it is not really a big deal (since we have no sim card) , here is the problem:
the code is only launched when there is an incoming message (this is why the memory footprint is so small) to detect when the sim is removed, the code needs to be running at all times (or maybe just at startup). I'm thinking the solution is to make a lightweight service for this purpose.
anyway, i have your suggestion now i'll see what i can do =)
A slightly embarrassing error: Version 1.1 of nueGPSSecurity has a bug when you send “getlink” that causes it to send lots of text messages (basically whenever your position changes…)
This is fixed in version 1.11. Sorry for any problems it might have caused.
http://www.nuerom.com/BlogEngine/post/2008/12/17/nueGPS-Critical-update.aspx
I've been waiting for a nice lightweight program like this for quite a while, all of the other ones eat up resources like that's part of their function...
Thanks no2chem, another great program ^_^
Very nice. Will implement this into my ROM I think - so its there after a hardreset too ...
Hello,
for me it is not working.
Installed CAB on my Touch HD (German Stock ROM). SMS is intercepted, but no sms is send back, no gps, no version.
I checked all Registry-Entries but everything look ok for me.
Any Help how to track that Problem ?
Regards
Rivendel
Some other cool possible functions:
1. Wiping out contacts (so that thief won't solicit them for pin numbers/codes/passwords etc..)
2. Wiping e-mail settings so they won't receive unwanted email from pop/imap etc.. (maybe by jsut deleting reg settings)
3. formatting storage card
any other ideas? definitely a lot of potential with this program.
Doesn't work for me either.
Installed the cab. Soft reset. Text myself !nuegps000 getpos and the message goes right through. It doesn't seem to be intercepting it. I am on an ATT Fuze, with my own custom rom. I get text and MMS messages just fine, so I don't know what would be wrong
Something for calls log?
sound an alarm... in case it's not really stolen just lost??
hoopsbwc34 said:
sound an alarm... in case it's not really stolen just lost??
Click to expand...
Click to collapse
That'd be a great feature for it, a command to sound an alarm....
hoopsbwc34 said:
sound an alarm... in case it's not really stolen just lost??
Click to expand...
Click to collapse
actually thats a good idea, have it raise the volume to max and play a sound... feature in the next version =p
elgreek84 said:
Some other cool possible functions:
1. Wiping out contacts (so that thief won't solicit them for pin numbers/codes/passwords etc..)
2. Wiping e-mail settings so they won't receive unwanted email from pop/imap etc.. (maybe by jsut deleting reg settings)
3. formatting storage card
any other ideas? definitely a lot of potential with this program.
Click to expand...
Click to collapse
ah more ideas to implement =p
chalid said:
Very nice. Will implement this into my ROM I think - so its there after a hardreset too ...
Click to expand...
Click to collapse
be sure to set some kind of random pin number that is not 0000, don't want this being a security risk =p
AssassinsLament said:
Doesn't work for me either.
Installed the cab. Soft reset. Text myself !nuegps000 getpos and the message goes right through. It doesn't seem to be intercepting it. I am on an ATT Fuze, with my own custom rom. I get text and MMS messages just fine, so I don't know what would be wrong
Click to expand...
Click to collapse
you need to use four zeros, !nuegps0000 =)
how do you set the pin no2chem? I can't find that anywhere...
EDIT: Oops scratch that, found it on the original post.
EDIT2: I'd like to add that I just used my friend's phone and it works great so far!

[App]New Speeed Reader v0.93 - Google Reader for Windows Phones

Speeed Reader by eeenno
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
(Current Version: v0.93 Build 3610)
Download -> http://eeenno.emuneee.com/SpeeedReader/download/SpeeedReader_093.cab
Please go to http://emuneee.com/eeenno-mobile/ for more information regarding Speeed Reader (FAQ, Settings, etc.) Thanks!
Speeed Reader is a Google Reader client for Windows Phones. It connects users to their Google Reader accounts, allowing them to view and share articles on their Windows Phones.
If you enjoy Speeed Reader, please consider a donation. Your participation is very much appreciated with or without a donation.
Requirements
Windows Mobile Professional 5/6.0/6.1/6.5
Windows Mobile Standard 5/6.0/6.1/6.5
.NET Compact Framework v3.5
Release History
V0.93 – November 11, 2009
Bug Fix: Crash when starting Speeed Reader with cachning disabled (introduced in v0.92)
Bug Fix: Minor layout issues in the UI
V0.91 – November 11, 2009
New Feature: 2 new themes (Noir – dark/black, Beach – coral/turquoise)
Enhancement: When navigating between multi-page lists, Speeed Reader will remember your page
Enhancement: Added bytes transferred (estimate) to the about screen
Enhancement: General Performance Increases/Memory Management
Bug Fix: Storage Card in Non-English Locale’s Not ID’d Correctly
Bug Fix: Clicking last item in reading list causes a crash
Bug Fix: Download More articles index is inaccurate
V0.90 – October 23, 2009
New feature: Article Caching/Offline mode
New feature: Search
New feature: Share articles via email/sms
New feature: Download more articles for tag reading list
New feature: Mark (new) articles unread
New feature: Hide read subscriptions and articles
Enhancement: Now using Bit.ly for URL shortening
Enhancement: Dynamic manual article refreshing
Enhancement: Progress bar is back
Enhancement: Correct font sizes for QVGA devices
Enhancement: Newly designed settings UI
Enhancement: New Mirabyte Controls module
Bug Fix: Feed URLs contain ‘?’ now load correctly (no more “There are 0 articles to read”)
V0.83 – August 6, 2009
Bug fix: Attempting to open articles in external browser (besides IE/Opera) resulted in a program crash
Bug fix: Some characters now display correctly (ie. ;quot& is now ")
Bug fix: Twitter panel shows wrong character count if you edit the Tweet
Enhancement: Full Windows Mobile Standard support
V0.82 – July 23, 2009
Bug fix: Application error when Google Reader account contains 0 unread articles
V0.81 – July 22, 2009
Bug fix: Unable to open article in external browser while viewing the article using the internal browser
Bug fix: Articles “kept unread” in Google Reader desktop will be marked as read in Speeed Reader
Bug fix: Some users weren’t able to login even though their credentials were correct
V0.80 – July 20, 2009
Share articles using your Twitter account
Broadcast articles using the Google Reader Broadcast function
Open articles in your default browser (recommended for Windows Mobile 6.5 users)
Now view list of articles by page - this allows you to set the 'Download Size' higher than before - also you can download older articles for any given subscription
Mark all of your articles as read, you can also just mark a tag, subscription, or article as read as well
Settings are now stored in SpeeedReader.ini in the application program directory. Makes it easy to use the same settings across different devices
Redesigned settings UI
Additional performance enhancements, bug fixes, code simplification, and additional settings have been added
Let me know if there are any issues here or via email @ [email protected]. Thanks for trying this out!
http://emuneee.wordpress.com/eeenno/speeed-reader/
Great software.
I appreciate your work!
off topic development question
pls delete my post. thanks.
Problem to display non-english symbols (for example, Cyrillics).
vadim_bogaiskov said:
Problem to display non-english symbols (for example, Cyrillics).
Click to expand...
Click to collapse
Thanks, I haven't quite tested non-english languages, however, this is my next priority. I'll update this when I have something.
emuneee said:
... this is my next priority.
Click to expand...
Click to collapse
... and, turn on multilanguages support (to creating the resources.dll), pls
Looks nice, trying it today! Please see if you can make the links PPC downloadable, and if you haven't already, make it support AppToDate.
I use Egress right now, but it's WAY to too twitchy to scroll, hopefully this one is more natural.
khaytsus said:
Looks nice, trying it today! Please see if you can make the links PPC downloadable, and if you haven't already, make it support AppToDate.
I use Egress right now, but it's WAY to too twitchy to scroll, hopefully this one is more natural.
Click to expand...
Click to collapse
I just read up on AppToDate, I will include support for that in the next release (along with multi-language support as well).
emuneee said:
I just read up on AppToDate, I will include support for that in the next release (along with multi-language support as well).
Click to expand...
Click to collapse
Excellent! I've just started using it today, noted a few bugs, and a suggestion.
I had never used Google reader before, so I didn't consider to go to the website and configure anything first. When I logged in using your client, it crashed because of a zero index. I didn't write down the exact wording, but I suspect it's because it had no subscriptions.
Another consequence of me being new to Google Reader, I did some quick initial setup of some feeds I watch and then looked at them in your client. Then I decided to move some things into different folders, but those new folders do not show up in the client, even after manually refreshing.
Wait, interesting. I refreshed once, no updates. I exited, no updates. But I've just launched it again, and the new folders are showing up. Perhaps some quirk here?
Suggestion! Is it possible to make it (at least optional) to show two lines of the headline? Overall the presentation is very nice, and the scrolling is very very nicely controlled, but there's just not enough headline shown to really see if I want to read something.
And is it possible to scroll in the Browser? I assume you're just embedding PIE, so perhaps not, but worth asking.
khaytsus said:
Excellent! I've just started using it today, noted a few bugs, and a suggestion.
I had never used Google reader before, so I didn't consider to go to the website and configure anything first. When I logged in using your client, it crashed because of a zero index. I didn't write down the exact wording, but I suspect it's because it had no subscriptions.
Another consequence of me being new to Google Reader, I did some quick initial setup of some feeds I watch and then looked at them in your client. Then I decided to move some things into different folders, but those new folders do not show up in the client, even after manually refreshing.
Wait, interesting. I refreshed once, no updates. I exited, no updates. But I've just launched it again, and the new folders are showing up. Perhaps some quirk here?
Suggestion! Is it possible to make it (at least optional) to show two lines of the headline? Overall the presentation is very nice, and the scrolling is very very nicely controlled, but there's just not enough headline shown to really see if I want to read something.
And is it possible to scroll in the Browser? I assume you're just embedding PIE, so perhaps not, but worth asking.
Click to expand...
Click to collapse
Thanks for the headsup on that crash...I'll get that fixed.
Whenever you change your folder configuration in the desktop client it will not reflect those changes in Speeed Reader until you exit and log in again. What I am doing is mimicking the tag/subscription/article structure in Google Reader in Speeed Reader, however, I am still working on ways to refresh the whole structure (efficiently). Long story short, that ability is coming.
I can make the two line headline an option.
Scrolling in the browser is (very) limited since I am using the webbrowser control in .NETCF. I am looking for other ways to get around this problem though. I am going to be implementing gestures sometime in the future so touch scrolling will be added in the browser tab.
Any chance of adding support to star and share articles?
sparhawk6 said:
Any chance of adding support to star and share articles?
Click to expand...
Click to collapse
Yes, its already supported. If you go into settings and uncheck "Hide Google Tags" (requires program restart) it will display Starred, Blogger-Following, and Broadcast tags. I will investigate shared items. However, there is a bug where if there are no articles for a tag and you press it, the application will crash. I'm going to have a release out in a day or two to address that bug.
My thoughts on your program:
Once the data loads up, it is a great little program. I find it more useful than GReader's Iphone interface (www.google.com/reader/i) in Opera, particularly because the images fit properly in a story.
That being said, the initial load up time is prohibitive. I almost always want to fire up my google reader feed on my phone when I have a few free moments at work or in line, or something similar. Waiting a few minutes while the RSS data is retrieved every time is really a killer for me. I need it to load up fast so I can read quickly and then go on my way. I also want to see a lot of articles, not just a few. I know this is probably not a change that can be made, but if you could somehow get the RSS data to load very quickly...say, in 15 seconds or less, than this program would be very useful and would supplant my use of Opera + www.google.com/reader/i.
Thanks for the app.
sparhawk6 said:
My thoughts on your program:
Once the data loads up, it is a great little program. I find it more useful than GReader's Iphone interface (www.google.com/reader/i) in Opera, particularly because the images fit properly in a story.
That being said, the initial load up time is prohibitive. I almost always want to fire up my google reader feed on my phone when I have a few free moments at work or in line, or something similar. Waiting a few minutes while the RSS data is retrieved every time is really a killer for me. I need it to load up fast so I can read quickly and then go on my way. I also want to see a lot of articles, not just a few. I know this is probably not a change that can be made, but if you could somehow get the RSS data to load very quickly...say, in 15 seconds or less, than this program would be very useful and would supplant my use of Opera + www.google.com/reader/i.
Thanks for the app.
Click to expand...
Click to collapse
Thanks for the feedback. There are definately someways I can speed up access (more threading or only downloading the articles as the user needs them <-takes the most time). I'll keep this in mind for future releases.
sparhawk6 said:
My thoughts on your program:
Once the data loads up, it is a great little program. I find it more useful than GReader's Iphone interface (www.google.com/reader/i) in Opera, particularly because the images fit properly in a story.
That being said, the initial load up time is prohibitive. I almost always want to fire up my google reader feed on my phone when I have a few free moments at work or in line, or something similar. Waiting a few minutes while the RSS data is retrieved every time is really a killer for me. I need it to load up fast so I can read quickly and then go on my way. I also want to see a lot of articles, not just a few. I know this is probably not a change that can be made, but if you could somehow get the RSS data to load very quickly...say, in 15 seconds or less, than this program would be very useful and would supplant my use of Opera + www.google.com/reader/i.
Thanks for the app.
Click to expand...
Click to collapse
I made some updates to v0.6 (pending) that will significantly reduce the initial load.
Some background
My method of constructing the tags, subscriptions, and lists is as follows.
1->Retrieving list of subscriptions from GReader
2->Retrieving list of tags from GReader
3->Retrieving list of unread counts from GReader
I used all the above to construct a skeleton structure (no article data) that mimicks what you see in GReader desktop. This is very quick.
4->Then in, v0.5, I retrieved ALL the articles at startup from GReader which is slower (depending on the number of subscriptions) because I had to make a separate HTTP request to GReader for each subscription. I then add each article to each subscription as needed.
Now in v0.6, I do 1,2,3 only at startup, which greatly speeds up the first start. Then as the user browses to each subscription, the articles loaded when needed. (only one http request so only a couple seconds to load). The first load is always the slowest because once they are loaded, the articles are cached into memory, which speeds up subsequent accesses.
I still do 4, however, it occurs in the background (when you do a manual refresh or at the automated refresh time) and is undetectable to the user that this is occurring because you can still browse articles as before.
Another special request
You should use AppToDate to push your update.
Thanks
ecard said:
Another special request
You should use AppToDate to push your update.
Thanks
Click to expand...
Click to collapse
AppToDate will be supported in v0.6
emuneee said:
I made some updates to v0.6 (pending) that will significantly reduce the initial load.
Some background
My method of constructing the tags, subscriptions, and lists is as follows.
1->Retrieving list of subscriptions from GReader
2->Retrieving list of tags from GReader
3->Retrieving list of unread counts from GReader
I used all the above to construct a skeleton structure (no article data) that mimicks what you see in GReader desktop. This is very quick.
4->Then in, v0.5, I retrieved ALL the articles at startup from GReader which is slower (depending on the number of subscriptions) because I had to make a separate HTTP request to GReader for each subscription. I then add each article to each subscription as needed.
Now in v0.6, I do 1,2,3 only at startup, which greatly speeds up the first start. Then as the user browses to each subscription, the articles loaded when needed. (only one http request so only a couple seconds to load). The first load is always the slowest because once they are loaded, the articles are cached into memory, which speeds up subsequent accesses.
I still do 4, however, it occurs in the background (when you do a manual refresh or at the automated refresh time) and is undetectable to the user that this is occurring because you can still browse articles as before.
Click to expand...
Click to collapse
Sounds great! Looking forward to it.
emuneee said:
AppToDate will be supported in v0.6
Click to expand...
Click to collapse
Wow! You are good
Thanks,
Eric
Updated
V0.6 - May 20, 2009
Fixed two crashes dealing with empty lists
Fixed crash where closing login form using the corner X/Ok causes unpredictable program behavior
Significant loading performance speed up
Ability to view reading list for all tags (excludes ‘Untagged’ tagged since there is no official Google Reader tag for this)
AppToDate Support – need to have AppToDate (http://www.apptodate.org/get) installed to use this feature

[APP] Wear IP Cam Viewer

I've just finished my new Wear IP Camera Viewer app - find it here:
https://play.google.com/store/apps/details?id=com.barkside.ipcam
With it you can view snapshots of your favourite public cameras, or your personal (security/baby-monitor/bird-cam) cameras, right on your Wear Watch. Other features include the ability to tap on a snapshot, and then pinch/double-tap to zoom. Also refresh a particular camera image from your watch. It works for MJPEG streams and JPEG snapshots only at the moment.
It is early days, so please let me know any issues.
Also, it is free (donations can be made within the app - if you get on well with it that is!)
Also again, if I type "Android wear IP Cam viewer" in Google Play, loads of non Android Wear IP cam apps come up - regular peeps aren't going to easily find my app! Any ideas?
Screenshots:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Put it in the Wear store.
I can't get my watch to refresh or change cams.
Moto 360
App updated with some fixes. Enjoy!
Sent from my HTC One S using XDA Free mobile app
it cant seem to find my foscam, easyn, or linksys cameras? and im def using the right settings from the cameras does the file path part need to be filled in?
Oh dear that doesn't sound very good. So you can either fill out the various boxes with ip/host, Port, path, etc or you use the manual setting to manually type (or paste) the full url. Are you testing from the phone first to ensure it is correct. Do the demo cameras work?
Sent from my HTC One S using XDA Free mobile app
barkside said:
Are you testing from the phone first to ensure it is correct. Do the demo cameras work?
Click to expand...
Click to collapse
Testing from phone first and it keeps saying failed to get frame grab. I am using the same credentials as my app that i have that views all my cams. I'll try to get the full url and try that later to see if that works.
Thanks.
good apps
barkside, great app!! i set it up to work with my foscam (a very popular webcam) so i'm going to post the details below to help others out and maybe some others can provide some input as well.
Foscam FI9821W V2 Cam on my LG G
The image above is a JPEG snapshot, but one that refreshes whenever I launch the webcam app on my watch.
Step 1 Purchase Foscam and setup on your local WiFi (not going into all the instructions, but basically its little more than giving your camera its on own IP address internally so you can see it on your local network.
Step 2 Launch the local URL, go to the your "settings" tab using IE, Firefox or Chrome and under "network" select the "port" option. Note the HTTP port, the only one you're interested in. Change it to something you like such as 8090 or 8095 or whatever and hit "save".
Step 3 Go to "basic settings", then "user accounts" and go ahead & create a "visitor" level user. You don't need or want your default admin account being the one you plug into the URL you'll ultimately put into your watch.
Step 4 Now that you have your visitor/user account, you just need to set up your virtual server/port forwarding for the IP address of your camera. Depending on the router, these settings are typically under "WAN" or "Virtual Servers" or "Port Forwarding". Its a very common feature that every router will have.
Step 5 After you've located your Virtual Server page, simply add a new "virtual server" and key in your IP cam's *LOCAL* web address. This is the same one you see at the top of your browser window in Step 3 above. Typically something like 192.168.2.210 or something. Add this IP address to the table along with the port you setup in Step 2 (8095 or whatever) and select "TCP" as the type.
Step 6You're almost done. Now you're ready to test the access to your camera on the web outside of your local WiFi. Make sure you have the NAME and PASSWORD handy for the visitor account you created.
You can do this one of 2 ways:
>> If using IP address (I don't recommend) do a 'whatismyip.com' lookup and get your 'outside facing' IP address.
>> If using a dynamic DNS (strongly recommended..i won't go into how to do this, but you should do this anyway when you set up your router) use that.
Here's an example of each type you'd want to type into your browser window VERY CAREFULLY
blah.freedomain.com = your DDNS or IP address
8095 = whatever port you are forwarding
blah = your visitor username
blah2 = your visitor password
Code:
http://blah.freedomain.com:8095/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=blah&pwd=blah2
or
Code:
http://68.43.55.698:8095/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=blah&pwd=blah2
Step 7 If you can see your webcam image in your browser window you're done! All you need to do now is to open Wear IP Cam on your phone and paste that in.
Step 8 Hit refresh on your watch and you will be able to see the updated web image on your watch each time!
Caveats
This works for the 19821W V2 and the CGI scripting language is slightly different for different foscam models. You might need to browse the Foscam site to see if the CGI code is. I can help out if needed but its really just getting the syntax down. NOTE the user is 'usr' in the code above. I was pulling my hair out for awhile because the older CGI script used 'user' and I kept misspelling it.
I haven't gotten the MJPEG working at all..in any browser. I get a broken image regardless of whether I'm internal or external. However the correct CGI to use for that (if you have better luck than me) is:
NOTE That the author says the end result is the same for MJPEG and JPEG; just a snapshot so there's no need to explore the MJPG option further unless you just want to play with it.
Example
Code:
http://blah.mydomain.com:8095/cgi-bin/CGIStream.cgi?cmd=GetMJStream&usr=blah&pwd=blah2
Of course you'll have to replace the DOMAIN, PORT, USERNAME and PASSWORD with your credentials.
Let me know if you have any questions!
nyvram1 said:
I'll update this guide if/once I've figured out why I can't get that secondary stream working correctly.
Click to expand...
Click to collapse
Great guide! Just to avoid confusion, can I reiterate that it will only ever work for snapshots of mjpeg streams, not the video stream itself. So it ends up being the same as jpeg.
Sent from my Nexus 4 using XDA Free mobile app
oh ok. That actually helps. I'll just stick with this version of it then. I wasn't sure if I was missing something by not seeing the MJPEG flavor. If there's no difference I probably won't pursue getting that working.
Thanks!
After playing with this a couple days, I think what would really make it nicer is to have the option to zoom..i guess 'pinch' zoom controls dont work on a watch touchscreen, so maybe a double tap will zoom the image and you can then move it around and another double tap to zoom back out.
that would be helpful as I can't make out the timestamp in my webcam image and i'd like to know its pulling a current snapshot.
Other than that, I think the app is great for what it is does.
Nice job!
nyvram1 said:
After playing with this a couple days, I think what would really make it nicer is to have the option to zoom..i guess 'pinch' zoom controls dont work on a watch touchscreen, so maybe a double tap will zoom the image and you can then move it around and another double tap to zoom back out.
Click to expand...
Click to collapse
This is supported already. Tap on a snapshot once which opens the zoom window. Now pinch zoom and double tap zoom will work (to a point). Long press to exit.
Really? Well dang I guess I should read the instructions.. off to try this now
So...
I have everything working fine ON MY TABLET for a Foscam FL8910W PTZ @ 640x480...
How in the world do I get the app to show up on my Moto 360 now?
I have every other app working well, but this one doesn't seem to sync when resyncing all apps
Any help would be appreciated!
There is nothing special with this app. I suppose you've tried the unoriginal restarting your tablet and your watch? Otherwise the only other thing is uninstalling and reinstalling the app?
barkside said:
There is nothing special with this app. I suppose you've tried the unoriginal restarting your tablet and your watch? Otherwise the only other thing is uninstalling and reinstalling the app?
Click to expand...
Click to collapse
Uninstall and reinstall just did the trick
I would mention that refreshing the image would be nice - maybe a 5/10/15/30/60 second option in setup? That would be SPANK!
Let me know what you think, otherwise, I'll report it working well with Foscam!
Glad that worked for you. Yes auto refresh would be nice. I didn't want to complicate it too much to begin with...
Nice app. Donation submitted. I also would like to vote for an auto-refresh enhancement. I think that would make the app perfect if it had that feature.
thanks

[APP] Picture Manager - Rename pictures with a timestamp and organize to folders

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
What is Picture Manager?
Some manufactures like HTC and Sony (probably some more) save pictures taken with an incremented number in the filename, instead with a timestamp like other manufactures do.
When you factory reset your device, buy a new device or clean flash a custom rom, the camera picture counter gets reset and starts with e.g. IMAG_00001 again.
This can be an issue once you backup your files to a harddrive on your PC, because you will have duplicate filenames, although the pictures are actually different.
Picture Manager solves this problem by renaming your taken pictures with a timestamp format that you can select or even define yourself.
You can either start a batch process before you backup your pictures to your HDD, or automatically let Picture Manager rename your files in the background.
Another nice feature Picture Manager offers is that you can let it organize your taken pictures into folders that are named by the year, month and even day.
That will help you to quickly find your pictures again and brings some organization into you pictures.
Requirements
You have to be on at least Android 5.0 Lollipop
How does it work
Picture Manager relies on the EXIF Metadata that is stored into each picture. The EXIF Metadata contains a lot of information, the one Picture Manager needs is the date the picture was taken.
With that information Picture Manager can reliably rename and organize your pictures.
Tasker Plugin
Picture Manager comes with a Tasker Action Plugin. That means that you can start a batch process on different events, like time, when usb gets connected etc.
Premium features
If you want to use the custom format, background service or the Tasker plugin you need to upgrade to the premium version.
To upgrade you can use an in app purchase. Or you paypal me and I mail you a premium code. That way google doesn't get 30% of the income.
Downloads
Picture Manager is available in the playstore:
FAQ
Q: What about videos?
A: Picture Manager can also handle mp4 recorded videos.
Q: What about other manufactures than HTC and Sony?
A: I just know about those two that use an incremented number in their filename. If you know more, let me know. If your files are already timestamped you can still use the organizer to move your files into timestamped folders.
Q: After using the organizer I have sometimes missing files in my gallery?
A: Use the media scanner built in Picture Manager to make those files visible.
Q: Will the background service drain a lot of battery?
A: Picture Manager makes use of Androids JobSheduler, like Google Photos and Amazon Photos instant upload and is very battery friendly. When checking GSAM stats, it is nearly at the very bottom of the list.
This is intriguing. I've been using Sony phones since I first came to Android and I have a LOT of photos. (I'm not bragging, it's just the downside of being able to take them so easily.)
This app could be really useful..:highfive:
Ticklefish said:
This is intriguing. I've been using Sony phones since I first came to Android and I have a LOT of photos. (I'm not bragging, it's just the downside of being able to take them so easily.)
This app could be really useful..:highfive:
Click to expand...
Click to collapse
Hehe thanks,
let me know when you tried and leave a feeback here.
Feature suggestions are welcomed too.
Cheers, Jan
j to the 4n said:
Hehe thanks,
let me know when you tried and leave a feeback here.
Feature suggestions are welcomed too.
Cheers, Jan
Click to expand...
Click to collapse
So far, so good. I've renamed the files in my main 100ANDRO folder, now I'm just renaming the ones in the other folders and arranging them into date folders.
I like the app, it's proving very useful. I have hundreds of thousands of photos from various different devices all stored on a NAS. This is going to be very helpful in getting it all organised. :good:
It would be handy to have information on the notification about which file the app's working on at that moment (2/300, 3/300, etc). I know we have a progress bar but, if there are a lot of files, that bar doesn't fill in very quickly. Numbers would help show that something's happening.
And it would be really helpful if this could access folders on a NAS, but I appreciate that's probably a lot more work to implement!
Ticklefish said:
So far, so good. I've renamed the files in my main 100ANDRO folder, now I'm just renaming the ones in the other folders and arranging them into date folders.
I like the app, it's proving very useful. I have hundreds of thousands of photos from various different devices all stored on a NAS. This is going to be very helpful in getting it all organised. :good:
It would be handy to have information on the notification about which file the app's working on at that moment (2/300, 3/300, etc). I know we have a progress bar but, if there are a lot of files, that bar doesn't fill in very quickly. Numbers would help show that something's happening.
And it would be really helpful if this could access folders on a NAS, but I appreciate that's probably a lot more work to implement!
Click to expand...
Click to collapse
Thanks for the feedback, much appreciated.
Will implement the counter for the next update.
About the NAS thing, that'll be a bit more complex to implement, I'll check that out on the weekend.
Edit: I got it working getting files from a NAS.
With hardcoded values so far though.
One issue I see is the performance. I need to copy every file to phone, read the exif data, rename it on the device, then copy it back to the NAS.
Then verfiy that it is there and then delete the old file.
I'll check when I have more time, how long it takes to perform 100 images.
If it is in a appropriate time I'll implement the feature. Otherwise I think I would suggest to find a windows app that does the same as my app (shouldnt be hard to find)
Copy app files to your HDD, perform the batch and copy back to NAS.

Categories

Resources